jQuery根据标签标签从span标签返回文本
jQuery return text from span tags based on label tags
我在我的页面上呈现了以下HTML:
<div class='panel'>
<div>
<div class='section'>
<ul class='properties'>
<li>
<label>Claim.Claimant</label>
<span class="value">Smith, John</span>
</li>
<li>
<label>Claim.LossDate</label>
<span class="value">04/22/2014</span>
</li>
<li>
<label>Claim.LossDescription</label>
<span class="value">I was injured.</span>
</li>
</ul>
</div>
</div>
</div>
我正在尝试检索使用jQuery在span标签中填充的文本。
I've try with zero success:
alert($("<label>Claim.Claimant</label>").find("span.value"));
你知道我做错了什么吗?
你应该这样做:
var $yourspan = $('label:contains(Claim.Claimant)').parent().find('span')
基本上- 查找包含特定文本的标签
- 找到它的父
- 在父元素中搜索span
查看现场演示
查看contains
的文档
根据这个jsperf测试,Rory的答案确实更性能。
首先,选择器的语法不正确。您希望在选择器中遵循基本的CSS规则,而不是编码的HTML。然后,您可以使用filter()
通过文本查找元素。试试这个:
var valueText = $('label').filter(function() {
return $(this).text() == 'Claim.Claimant';
}).next('span.value').text();
alert(valueText); // = 'Smith, John'
注意filter()
比:contains
选择器快得多。
例子小提琴
可以使用.text()
获取span标签的文本值这将从所有span标签类"value"中获取文本:
$("span.value").text()
如果您想要一个特定的span标签,可以为每个标签分配唯一的id,或者使用索引引用它们:
$($("span.value")[0]).text()
相关文章:
- react-让一个元素返回两个相邻的<tr>标签
- 虽然我更改了标签的文本,但它仍然返回初始值,我该如何解决
- Angular,GitHub API,返回存储库和标签
- 如何使用此 JavaScript 返回带有特定哈希标签的推文
- 返回标签的文本值,并在每个标签后附加换行符
- 当标签值与使用 JavaScript 的输入匹配时,返回 XML 标签属性
- Facebook标签/页面身份验证问题:getLoginStatus总是返回not_authorized
- Chrome MediaStreamTrack.getSources() 返回带有空标签的源
- jquery ajax,每个帖子只返回一个标签
- 为什么这个网站返回包装在jQuery标签中的自动完成数据
- 如何在我的 标签中返回内部 HTML
- 在标签上单击返回其无线电组名称
- onclick返回false的标签;仍然可以点击
- s: submit在从java脚本访问值时返回标签值
- 重复一个函数调用7次,然后使用angularjs用返回值填充标签
- 如何停止滚动或移动下一个标签,如果我的javascript函数返回false
- getElementsByTagName()返回0自定义标签的结果
- 如何从HTML返回标签中获取值?
- jQuery根据标签标签从span标签返回文本
- 从标签返回文本,其中最外层的HTML标签适用于jquery中的所有文本节点