我有一個相當大的程序,我已簡化以顯示我遇到的問題。我有2個div,我有一個圖像和一些文本。當我將鼠標懸停在圖像上時,jQuery將鼠標懸停在圖像事件上。通過這一切,我能夠得到他們的父母div的圖像&的Id。但是,當我嘗試獲取數組中的Id的索引值時,它始終返回-1 ie ...未找到。無法使用Array.indexOf方法在JavaScript中工作
您能否請幫助。代碼如下所示。我是新來的JavaScript & jQuery,因此需要一些幫助。也許解決方案非常簡單。
在此先感謝。問候,sbguy
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
var input_array = new Array("input1_Id", "input2_Id");
var div_array = new Array("div1_Id", "div2_Id");
window.onload=function(){
jQuery.ready();
img_hover_event_handler();
}
//________________________________________________
function img_hover_event_handler() {
var input_id = "";
var div_id = "";
var input_index, div_index;
$("input.Lrollover").hover(
function() {
input_id = new String(this.id);
input_index = new String(input_array.indexOf(div_id));
div_id = new String($(this).closest('div').attr('id')); // id of the parent div
div_index = new String(div_array.indexOf(div_id));
alert(input_id + ", " + input_index + ", " + div_id + ", " + div_index);
},
function() {
});
}
</script>
</head>
<body>
<div id="div1_Id">
<input class="Lrollover" id="input1_Id" type="image" src="images/LGbtn_off.png" alt="Image1" />
<p id="myp1_Id">"Hello World 1"</p>
</div>
<br><br><br>
<div id="div2_Id">
<input class="Lrollover" id="input2_Id" type="image" src="images/LGbtn_off.png" alt="Image2"/>
<p id="myp2_Id">Hello World 2"</p>
</div>
</body>
</html>
您使用的是'Array.indexOf'方法。不是'String.indexOf'。 – 2012-03-21 11:57:57