我有这个HTML:
<div id="top">
<div id="potato"></div>
</div>
<div id="bottom">
<div id="potato"></div>
</div>
我正在尝试使用JQuery来访问底部的马铃薯div,并且没有以下工作。
$('#top #potato').html('Russet');
$('#bottom #potato').html('Red');
$('#top > #potato').html('Russet');
$('#bottom > #potato').html('Red');
$('#potato').html('Idaho');
所有这些只是修改顶部div而不是底部div。如何修改底部div?
答案 0 :(得分:22)
所有元素必须具有唯一ID,在这种情况下,您可以使用class属性,以便
<div class="potato" />
你可以这样访问:
$('#bottom > .potato').html('Idaho');
答案 1 :(得分:15)
我刚遇到这个问题。虽然这是真的,你不应该有两个具有相同ID的项目,但它会发生。
要获得你想要的div,这对我有用:
$('#bottom').find('#potato');
答案 2 :(得分:5)
首先,你不能拥有与另一个具有相同 id 的元素。 Id是唯一的,但类名可以根据需要多次使用
<div id="top">
<div id="potato1"></div>
</div>
<div id="bottom">
<div id="potato2"></div>
</div>
jquery如此:
$(function{
$("#potato2").html('Idaho'); //if you're going to name it with an id,
// that's all the selector you need
});
答案 3 :(得分:3)
你发布的内容和说的不起作用似乎对我有用。
$('#top #potato').addClass('Russet');
$('#bottom #potato').addClass('Red');
答案 4 :(得分:1)
无需在所有内容上放置课程,但您应该拥有所有内容的唯一ID。除此之外,试试这个:
$("#bottom + div").html('Idaho');
答案 5 :(得分:0)
试试这个:
$("#bottom #potato").html('Idaho');
或者
$("#bottom #potato:last").html('Idaho');
答案 6 :(得分:-1)
您的HTML无效,因为您有非唯一id
s