如何基于另一个选择器创建jquery选择器?

时间:2013-10-18 14:56:35

标签: jquery

好的,这个问题很难说。

假设我想基于另一个选择器创建一个选择器:

var firstChild = $(textDiv).children(":first")
var firstChildAppend = '.ls-active ' + firstChild;
alert(firstChildAppend);

显然输出不包含可用的选择器,因为它包含一个jquery对象(firstChild中的内容)。好吧,我只想制作firstChild文本,以便我可以用它来创建一个新的选择器。

3 个答案:

答案 0 :(得分:1)

您可以将find方法与您的选择器一起使用,以便在其后代中找到

var firstChild = $(textDiv).children(":first")
var firstChildAppend = firstChild.find('.ls-active ');

您也可以在上下文中传递选择器。

var firstChild = $(textDiv).children(":first")
var firstChildAppend = $('.ls-active ', firstChild );

我无法理解你为什么在alert in statement alert(firstChildAppend)中选择器返回的最终集合,如果你想迭代返回的集合,你可以使用each()

firstChildAppend.each(function(){
    alert(this.tagName);
});

答案 1 :(得分:0)

假设.ls-active是第一个选择器的子元素,您可以使用上下文选择器:

var firstChildAppend = $('.ls-active', firstChild);

答案 2 :(得分:0)

另一种方法,如果你需要实际的选择器,将如下:

var firstChild = $(textDiv).children(":first")
var firstChildAppend = $(firstChild.selector + ' .ls-active ');

由于某些原因,如果不知道需要“第一个标准”的“选择器”,这是有好处的,并且你需要持有它是有原因的。一般来说,Adil有最好的解决方案。enter code here