Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.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 选择其特定子体';HTML包含特定的文本?_Javascript_Jquery_Html - Fatal编程技术网

Javascript 选择其特定子体';HTML包含特定的文本?

Javascript 选择其特定子体';HTML包含特定的文本?,javascript,jquery,html,Javascript,Jquery,Html,我想选择所有div,它有一个cite子体,并且cite子体的HTML包含一些文本。我试过: $('div') .filter('cite') .filter(function() { return $(this).html().match('text'); }) 这是: $('div') .filter('div cite') .filter(function() { return $(this).html

我想选择所有
div
,它有一个
cite
子体,并且
cite
子体的HTML包含一些
文本。我试过:

$('div')
  .filter('cite')
    .filter(function() {
              return $(this).html().match('text');
    })
这是:

$('div')
  .filter('div cite')
    .filter(function() {
              return $(this).html().match('text');
    })
但它不起作用。这里少了什么

也就是说,我想在下面的HTML中选择第三个
div

HTML:

text1 text2
文本1文本2
文本1文本2
文本1文本2
编辑: 我想选择的是而不是
$('div-cite')
。我想选择
$('div')
,其中
div
s有一个
cite
子体,并且
cite
子体的内容包含一些文本。

使用
:contains()
选择器:

$("div").find("cite:contains('text')").closest("div");
感谢@JonSG:

OP.在另一个答案的评论中询问了这可能是怎样的 只需使用filter()即可完成,无需使用 最近的()或父()。我对这个答案不感兴趣,但你可以这样做:

或:

您可以尝试以下方法:

$(“div-cite”).each(function(){


})

要获得预期结果,请使用下面的选项

$( "cite" ).each(function( index ) {
  console.log( $( this ).text() );
});
这个怎么样

$("div").has("cite:contains('text')");

请同时共享html代码。是否希望引用中的所有文本?@Sky Yes。我想将一些文本与
cite
的内容进行比较,并进行相应的选择。@SpencerWieczorek第三个
div
是我想要选择的。@Utku您可以尝试筛选div对象,然后检查它下面的cite文本。我正在使用电话打字,所以如果建议有帮助,那就太好了。“HTML包含一些
文本
”,这将选择
引用
元素。我想选择
div
元素,这些元素有一个
cite
后代,其中包含一些
text
。这个答案很接近,但需要一个.closest(“div”)或者一个.parent()@Utku,它现在选择
div
@Utku,请参见下面我的答案,基本上就是这样。是的,我在回答中添加了第二个示例,它使用filter()而不使用closest()。如果@dNitro将其作为第二个示例添加到他的答案中,我将删除我的答案,因为他的答案总体上看起来更好。@Utku,如果引用标记不止一个,此答案将获得引用标记之间的所有文本数组
var target = $("div").filter(function() {
  return /text/.test($(this).find("cite").html());
});

$(target).css("background-color", "tomato");
     ` // $(this).text() get the text of cite`
$( "cite" ).each(function( index ) {
  console.log( $( this ).text() );
});
$("div").has("cite:contains('text')");