我是一名初学jQuery的菜鸟。
看,我们有2个div,如下所示:
看,我们有2个div,如下所示:
<div id="div1">
<ul>
<li> This is Line 1</li>
<li> This is Line 2</li>
<li> This is Line 3</li>
<li> This is Line 4</li>
<li> This is Line 5</li>
</ul>
</div>
<div id="div2">
<ul>
<li> <input type="text" /></li>
<li> <input type="text" /></li>
<li> <input type="text" /></li>
<li> <input type="text" /></li>
<li> <input type="text" /></li>
</ul>
</div>
由于我正在学习change()函数,这是我想做的事情: 当div2中每个输入框的值发生更改时,相同编号的div1 li应该更改为输入的值,例如如果我们开始在div2中的第二个输入框中输入,第二个li文本应该变成我们在第二个输入框中输入的文本。
以下是我到目前为止尝试过的,但并没有起作用:
<script type="text/javascript">
$(document).ready(function(){
$('#div2 :input').change(function(i){
var str = $(this).text;
$('#div1 li').eq(i).text(str);
});
});
</script>
这是什么问题? 提前感谢。
$(this).parent().index();
和$(this).index('#div2 :input');
哪个更好? - Selvakumar Arumugam$(this).parent().index();
也应该可以正常工作 >> http://jsfiddle.net/skram/UJBCr/1/ << 但不确定它是否比$(this).index('..')
更好。 - Selvakumar Arumugamindex
会在元素的父级中搜索该元素,并返回其位置。所以,我们需要使用parent()
来获取<li>
。然后当调用index()
时,它会在其父级(即<ul>
)中搜索<li>
并返回正确的位置。 - gen_Eric