2015-09-25 25 views
1

我想要得到一个div,它的innerHTML中包含'xxx'使用简单的jQuery选择器

我能做到这一点与下面的代码:

$("div:contains('xxx')") 

不幸的是,我不能用这个,因为另一个插件已经提供了我div

我可以这样做吗?!

element.contains('xxx') 

我知道我可以使用过滤器,但我想保持简单。

这些伪选择符可以用作点符号的属性吗?

例如,如果我想在选择的最后一个元素,我可以用这个:

$("div:last") 

有没有这样的事情下面?

$("div").last() 

我知道我可以使用下面的代码,但我想保持简单:

$("div").eq($("div").length-1) 

任何想法,如何将这些伪选择器可以使用点符号(如所选的性质使用元素)?

+0

'但是我不能使用这项事业另一个插件已经给我提供了“格”'你能解释一下你的意思这样?如果元素在DOM中,那么您可以选择它,只要你喜欢。 –

+0

我正在从另一个插件获取外部插件中的元素。我只能访问“元素”,我需要使用它。我的意思是,我真的需要在选择器中使用“元素”。 – user3262028

+0

JetBrain的推荐之一就是将你的“简单伪”选择器分开以分开函数调用。不要试图让它难以阅读... –

回答

0

任何想法如何使用点符号(作为选定元素的属性)使用这些“伪”选择器?

其中一些确实具有相同的方法。 .last存在。但对于那些你不需要使用.filterHere is a list of all jQuery methods你可以在哪里找你自己。

1

你可以做的是选择给定的div像这样:

div.find(":contains(xxx)") 

提供DIV是一个jQuery对象以其它方式使用$(div)

之后,只需检查选择是否包含任何元素。 这同样适用于最后一个选择:

$("div").find(":last") 
0

我认为.is()可能是你在找什么。 尝试

$(element).is(":contains('xxx')"); 

的DOM元素 或

element.is(":contains('xxx')"); 

jQuery的对象