Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery选择器-不选择内部元素_Javascript_Jquery_Css Selectors - Fatal编程技术网

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
(不带t
1150
)。是否可以使用一个选择器执行此操作


例如,如果我做了
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选择器本质上是一个函数,至少在一定程度上,您可以创建自己的选择器。因此,我看不出限制的意义