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')");