我在选择驻留在另一个容器中的span元素中的文本时遇到问题.
我试图解决的情况是在页面上我们可能一次有10-15个不同的地址(所以我在创建页面时将记录ID添加到div的ID上).我需要能够通过ID选择特定的一个,然后在其中找到各个地址片段.
HTML输出的示例如下:
<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>
Run Code Online (Sandbox Code Playgroud)
我尝试过使用以下内容(以及许多变种):
$("#Address_" + Id).children().find("#Address").text;
$("#Address_" + Id).find("span#Address").text;
$("#Address_" + Id).find("span").find("#Address").text;
Run Code Online (Sandbox Code Playgroud)
(我也可以在跨度内使用类而不是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();
Run Code Online (Sandbox Code Playgroud)
Ken*_*ler 10
ID在整个文档中必须是唯一的.您应该改为使用"内部"ID类.那你就得:
$('#Address_'+Id).find('span.address').text();
Run Code Online (Sandbox Code Playgroud)
根据LarsH的评论,在您的文档中,您拥有:
<div id="Address_1">
<span id="Address">Some Address</span>
Run Code Online (Sandbox Code Playgroud)
你会把它改成:
<div id="Address_1">
<span class="Address">Some Address</span>
Run Code Online (Sandbox Code Playgroud)
如果某个ID不止一个,那么您的结果最多也是不可预测的.