2012-02-23 91 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/