2012-02-23 87 views
2
$(".outerdiv .innerdiv").hover(function(){ 
    var variable = $(this).index(); 
}); 
var variable = 3; 
$("span").html(variable); 

悬停在一个.innerdiv我希望它通过改变变量函数外的索引值来改变其指标值时的<span>原始HTML是使用jquery设置为3,但变量值特定的.innerdiv被徘徊。 http://jsfiddle.net/eEUeT/9/改变外功能

<div class="outerdiv"> 
    <div class="innerdiv">1</div> 
    <div class="innerdiv">2</div> 
    <div class="innerdiv">3</div> 
    <div class="innerdiv">4</div> 
    <div class="innerdiv">5</div> 
</div>  
<span></span>​ 

我已经试过这http://jsfiddle.net/eEUeT/11/不具有3组原单值不过。


我通过改变HTML到<span>3</span>和使用下面的jQuery将努力理解,但我宁愿学习如何做到这一点,我问

$(".outerdiv .innerdiv").hover(function(){ 
    var variable = $(this).index(); 
$("span").html(variable); 
}); 
+0

@DidierGhys我不傻...这就是为什么我问它是如何做。我从来没有说过这不起作用......让事实正确。而且你不配得到3条好评。 – 2012-02-23 20:57:56

+1

我不是那个意思,我也没有把我自己的意见投票给我。对不起,如果这冒犯了你,那不是我的意图。根据你的问题,你似乎预料到这种行为。 – 2012-02-23 21:01:19

+0

:)对不起,如果 - 我 - 遇到冒犯。这不是我需要的东西。这是我用来学习.index()如何工作,但它很简单。所以我想通过学习如何从函数外部设置一个变量来改变它。我通常会问自己尝试失败后是如何完成的。 – 2012-02-23 21:05:12

回答

1

的方式。如果你想操纵一个元素,你必须选择它......你不能给一个变量赋值,并期望DOM元素自己更新。正如你虽然说,它很容易够这样做:

//set the initial HTML for the span element(s) 
var $span = $('span').html(3); 

$(".outerdiv .innerdiv").hover(function(){ 

    //update the span element(s) HTML to the index of the hovered-over `.innerdiv` element 
    $span.html($(this).index()); 
}); 

这会将徘徊,在.innerdiv元素的索引任何<span>元素的HTML。

这里是一个演示:http://jsfiddle.net/eEUeT/14/