我在选择驻留在另一个容器中的span元素中的文本时遇到问题.
我试图解决的情况是在页面上我们可能一次有10-15个不同的地址(所以我在创建页面时将记录ID添加到div的ID上).我需要能够通过ID选择特定的一个,然后在其中找到各个地址片段.
<div id="Address_1"> <span id="Address">Some Address</span> <span id="City">Some City</span> <span id="State">Some State</span> <span id="Zip">Some Zip</span> </div> <div id="Address_2"> <span id="Address">Some Address</span> <span id="City">Some City</span> <span id="State">Some State</span> <span id="Zip">Some Zip</span> </div>
我尝试过使用以下内容(以及许多变种):
$("#Address_" + Id).children().find("#Address").text; $("#Address_" + Id).find("span#Address").text; $("#Address_" + Id).find("span").find("#Address").text;
(我也可以在跨度内使用类而不是ID,但我也想知道如何通过ID来实现它.)
我确信这是非常简单的,我做错了,但我似乎可以搞清楚.我在这里搜索了很多问题以及寻找类似的问题,但我似乎无法找到我正在寻找的东西.如果我没有使用正确的措辞进行搜索,我会提前道歉.
非常感谢任何和所有的帮助.
更新:这是我的解决方案,感谢Ken Redler的帮助.
<div id="Address_1"> <span class="Address">Some Address</span> <span class="City">Some City</span> <span class="State">Some State</span> <span class="Zip">Some Zip</span> </div> $("#Address_" + Id).find("span.Address").text();
解决方法
ID在整个文档中必须是唯一的.您应该改为使用“内部”ID类.然后你有:
$('#Address_'+Id).find('span.address').text();
根据LarsH的评论,在您的文档中,您拥有:
<div id="Address_1"> <span id="Address">Some Address</span>
你会把它改成:
<div id="Address_1"> <span class="Address">Some Address</span>
如果某个ID不止一个,那么您的结果最多也是不可预测的.