我的HTML:
<li>
<input type="checkbox" id="check-1">
<label for="check-1">foo</label>
</li>
我试图用这个JS代码将“foo”改为“bla”:
$("#check-1 label").text("bla");
但没有任何反应,我没有错误。我也试过了:first-child。
有什么想法吗?
答案 0 :(得分:2)
您可以使用此
$('label[for=check-1]').text('bla');
答案 1 :(得分:1)
在输入中没有子元素,您可以使用$.next
在输入后获取下一个元素
$("#check-1").next('label').text('bla');
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li>
<input type="checkbox" id="check-1">
<label for="check-1">foo</label>
</li>
&#13;
答案 2 :(得分:1)
label
不是input
的孩子。它是 next 元素:
$("#check-1").next().text('bla');
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li>
<input type="checkbox" id="check-1">
<label for="check-1">foo</label>
</li>
&#13;
答案 3 :(得分:1)
试试这个
$("#check-1 + label").text("bla");