Javascript jquery选择器-不选择内部元素
可能重复:Javascript jquery选择器-不选择内部元素,javascript,jquery,css-selectors,Javascript,Jquery,Css Selectors,可能重复: 我正在尝试使用1选择器并仅通过text()方法获取元素数据的一部分。 假设我有以下html代码: <div class="price"> <span class='old_price'>1150</span><br /> 920 </div> 1150 920 在这种情况下,我只想得到920(不带t1150)。是否可以使用一个选择器执行此操作 例如,如果我做了div.price.text(),我
我正在尝试使用1选择器并仅通过text()方法获取元素数据的一部分。 假设我有以下html代码:
<div class="price">
<span class='old_price'>1150</span><br />
920
</div>
1150
920
在这种情况下,我只想得到920
(不带t1150
)。是否可以使用一个选择器执行此操作
例如,如果我做了
div.price.text()
,我将得到两个价格。所以说“一行”是指div.price.not(“span.old\u price”).text()
之类的东西。来自jQuery API文档Description:获取匹配元素集中每个元素的组合文本内容,包括它们的后代。
因此,即使只选择外部元素,也将使用text()获得两个数字作为结果的一部分
所以,您想要的是过滤掉除文本节点以外的所有内容
$(".price").contents().filter(
function() {
return this.nodeType === 3; // text node
}
).text();
您可能需要修剪空白(在这种情况下,您可以用
$来包装上述代码。trim()
正如我所说的,我只需要使用选择器来执行它,我不能使用函数等等。@ItayD选择器本质上是一个函数,至少在一定程度上,您可以创建自己的选择器。因此,我看不出限制的意义