高级:如何使用特定父标记内的另一个元素的值替换元素的文本?
具体:使用下面的HTML,我想用"input.someOtherNumber"的值替换"span.number"的html.我可以在页面上添加多个这些列表项,因此需要使用父项缩小范围.
<ul>
<li class="list-item">
<span class="number">0</span>
<input class="someOtherNumber" type="text" value="10" />
</li>
<li class="list-item">
<span class="number">0</span>
<input class="someOtherNumber" type="text" value="99" />
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
以下JS用于将"span.number"值替换为"inout.someOtherNumber"的值,但它不会将其限制为父级.如何将其限制为父母?
$(".someOtherNumber").keyup(function () {
var value = $(this).val();
$(".number").text(value);
}).keyup();
Run Code Online (Sandbox Code Playgroud)
编辑:
如果输入包含在span中,那么我该如何完成它?我真的在寻找一个检查父级的解决方案,因为在我的实际代码中我有多个元素可以互相嵌套,所以".sibling"或".prev/.next"将不起作用.更新的HTML将如下所示:
<ul>
<li class="list-item">
<span class="number">0</span>
<span><input class="someOtherNumber" type="text" value="10" /></span>
</li>
<li class="list-item">
<span class="number">0</span>
<span><input class="someOtherNumber" type="text" value="99" /></span>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
你可以在这里看到它:http://jsfiddle.net/8bXbx/
更换:
$(".number").text(value);
Run Code Online (Sandbox Code Playgroud)
附:
$(this).prev(".number").text(value);
Run Code Online (Sandbox Code Playgroud)
..fredrik