Javascript 在嵌套的动态添加的div的海洋中以div为目标

Javascript 在嵌套的动态添加的div的海洋中以div为目标,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我使用的是liferay框架,我需要在页面中的一个非常特定的div中添加一个JavaScript检测到的内联高度。问题是,我需要让它通过未知数量的动态添加的div和动态添加的类和id。更为复杂的是,div是随机的兄弟或嵌套的 下面是它的样子: <div class="known-class"> <div class="unknown dynamicallygenerated"></div> <div class=&

我使用的是liferay框架,我需要在页面中的一个非常特定的div中添加一个JavaScript检测到的内联高度。问题是,我需要让它通过未知数量的动态添加的div和动态添加的类和id。更为复杂的是,div是随机的兄弟或嵌套的

下面是它的样子:

<div class="known-class">
<div class="unknown dynamicallygenerated"></div>
<div class="unknown dynamicallygenerated">
    <div class="unknown dynamicallygenerated">
        <div class="unknown dynamicallygenerated"></div>
        <div class="unknown dynamicallygenerated">
            <div class="DIV-I-WANT-TO-TARGET">this is the div i need to Target with my css/javascript</div>
        </div>
    </div>
</div>
因为这个类在其他地方也存在,所以我宁愿用类似的东西来定位它

jQuery('.known-class .DIV-I-WANT-TO-TARGET')

这显然不起作用,因为中间有很多其他div,我的div不是“已知类”< /P>的一个孩子。 我在问自己是否有任何jQuery可以提供帮助。比如:

使用
.div-I-WANT-TO-TARGET
类捕获任何div,该类在另一个具有
.known类的div中是“一般的”


这可能吗?非常感谢你的帮助

像这样的方法会奏效:

// this will target the known-class and find all children with DIV-I-WANT-TO-TARGET
$('div.known-class').find('div.DIV-I-WANT-TO-TARGET');

// this will target the known-class and find the first DIV-I-WANT-TO-TARGET
$('div.known-class').find('div.DIV-I-WANT-TO-TARGET').first();
$('div.known-class').find('div.DIV-I-WANT-TO-TARGET:first');
$('div.known-class').find('div.DIV-I-WANT-TO-TARGET:eq(0)');
$('div.known-class').find('div.DIV-I-WANT-TO-TARGET').eq(0);

类似这样的方法会奏效:

// this will target the known-class and find all children with DIV-I-WANT-TO-TARGET
$('div.known-class').find('div.DIV-I-WANT-TO-TARGET');

// this will target the known-class and find the first DIV-I-WANT-TO-TARGET
$('div.known-class').find('div.DIV-I-WANT-TO-TARGET').first();
$('div.known-class').find('div.DIV-I-WANT-TO-TARGET:first');
$('div.known-class').find('div.DIV-I-WANT-TO-TARGET:eq(0)');
$('div.known-class').find('div.DIV-I-WANT-TO-TARGET').eq(0);

类似这样的方法会奏效:

// this will target the known-class and find all children with DIV-I-WANT-TO-TARGET
$('div.known-class').find('div.DIV-I-WANT-TO-TARGET');

// this will target the known-class and find the first DIV-I-WANT-TO-TARGET
$('div.known-class').find('div.DIV-I-WANT-TO-TARGET').first();
$('div.known-class').find('div.DIV-I-WANT-TO-TARGET:first');
$('div.known-class').find('div.DIV-I-WANT-TO-TARGET:eq(0)');
$('div.known-class').find('div.DIV-I-WANT-TO-TARGET').eq(0);

类似这样的方法会奏效:

// this will target the known-class and find all children with DIV-I-WANT-TO-TARGET
$('div.known-class').find('div.DIV-I-WANT-TO-TARGET');

// this will target the known-class and find the first DIV-I-WANT-TO-TARGET
$('div.known-class').find('div.DIV-I-WANT-TO-TARGET').first();
$('div.known-class').find('div.DIV-I-WANT-TO-TARGET:first');
$('div.known-class').find('div.DIV-I-WANT-TO-TARGET:eq(0)');
$('div.known-class').find('div.DIV-I-WANT-TO-TARGET').eq(0);

您可以在css文件中尝试

 .known-class div div div div{}

最后一个div是div-I-WANT-TO-TARGET

您可以在css文件中尝试

 .known-class div div div div{}

最后一个div是div-I-WANT-TO-TARGET

您可以在css文件中尝试

 .known-class div div div div{}

最后一个div是div-I-WANT-TO-TARGET

您可以在css文件中尝试

 .known-class div div div div{}

最后一个div是div-I-WANT-TO-TARGET

假设从外部到内部添加div

指定一个相等的名称加上一个从1开始的数字

<div class="known-class">
  <div class="unknown dynamicallygenerated" id="dynamicdiv1"></div>
    <div class="unknown dynamicallygenerated" id="dynamicdiv2">
       <div class="unknown dynamicallygenerated" id="dynamicdiv3">
           <div class="unknown dynamicallygenerated" id="dynamicdiv4"></div>
              <div class="unknown dynamicallygenerated" id="dynamicdiv5">
                <div class="DIV-I-WANT-TO-TARGET" id="dynamicdiv6"></div>
        </div>
    </div>
</div>

按数字顺序到达最后一项时。(您可以使用任何分割函数)将属性添加到该div

假设您正在从外部向内部添加div

指定一个相等的名称加上一个从1开始的数字

<div class="known-class">
  <div class="unknown dynamicallygenerated" id="dynamicdiv1"></div>
    <div class="unknown dynamicallygenerated" id="dynamicdiv2">
       <div class="unknown dynamicallygenerated" id="dynamicdiv3">
           <div class="unknown dynamicallygenerated" id="dynamicdiv4"></div>
              <div class="unknown dynamicallygenerated" id="dynamicdiv5">
                <div class="DIV-I-WANT-TO-TARGET" id="dynamicdiv6"></div>
        </div>
    </div>
</div>

按数字顺序到达最后一项时。(您可以使用任何分割函数)将属性添加到该div

假设您正在从外部向内部添加div

指定一个相等的名称加上一个从1开始的数字

<div class="known-class">
  <div class="unknown dynamicallygenerated" id="dynamicdiv1"></div>
    <div class="unknown dynamicallygenerated" id="dynamicdiv2">
       <div class="unknown dynamicallygenerated" id="dynamicdiv3">
           <div class="unknown dynamicallygenerated" id="dynamicdiv4"></div>
              <div class="unknown dynamicallygenerated" id="dynamicdiv5">
                <div class="DIV-I-WANT-TO-TARGET" id="dynamicdiv6"></div>
        </div>
    </div>
</div>

按数字顺序到达最后一项时。(您可以使用任何分割函数)将属性添加到该div

假设您正在从外部向内部添加div

指定一个相等的名称加上一个从1开始的数字

<div class="known-class">
  <div class="unknown dynamicallygenerated" id="dynamicdiv1"></div>
    <div class="unknown dynamicallygenerated" id="dynamicdiv2">
       <div class="unknown dynamicallygenerated" id="dynamicdiv3">
           <div class="unknown dynamicallygenerated" id="dynamicdiv4"></div>
              <div class="unknown dynamicallygenerated" id="dynamicdiv5">
                <div class="DIV-I-WANT-TO-TARGET" id="dynamicdiv6"></div>
        </div>
    </div>
</div>

按数字顺序到达最后一项时。(您可以使用任何分割函数)将属性添加到该div

您需要选择已知类中的最后一个div:

$('.known-class').find('div:last').css('background', 'Red')
或者,如果要选择所有.known类:

$('.known-class').each(function() {$(this).find('div:last').css('background', 'Red')});

您需要选择已知类中的最后一个div:

$('.known-class').find('div:last').css('background', 'Red')
或者,如果要选择所有.known类:

$('.known-class').each(function() {$(this).find('div:last').css('background', 'Red')});

您需要选择已知类中的最后一个div:

$('.known-class').find('div:last').css('background', 'Red')
或者,如果要选择所有.known类:

$('.known-class').each(function() {$(this).find('div:last').css('background', 'Red')});

您需要选择已知类中的最后一个div:

$('.known-class').find('div:last').css('background', 'Red')
或者,如果要选择所有.known类:

$('.known-class').each(function() {$(this).find('div:last').css('background', 'Red')});

实际上,您的选择器工作正常:

$('.known-class .DIV-I-WANT-TO-TARGET')
使用空格,选择器将查找任何后代

如果使用
运算符,则搜索仅限于直系后代(直系子代)


因此,
$('.known class>.DIV-I-WANT-TO-TARGET')
无法找到您想要的内容。

实际上,您的选择器工作正常:

$('.known-class .DIV-I-WANT-TO-TARGET')
使用空格,选择器将查找任何后代

如果使用
运算符,则搜索仅限于直系后代(直系子代)


因此,
$('.known class>.DIV-I-WANT-TO-TARGET')
无法找到您想要的内容。

实际上,您的选择器工作正常:

$('.known-class .DIV-I-WANT-TO-TARGET')
使用空格,选择器将查找任何后代

如果使用
运算符,则搜索仅限于直系后代(直系子代)


因此,
$('.known class>.DIV-I-WANT-TO-TARGET')
无法找到您想要的内容。

实际上,您的选择器工作正常:

$('.known-class .DIV-I-WANT-TO-TARGET')
使用空格,选择器将查找任何后代

如果使用
运算符,则搜索仅限于直系后代(直系子代)


< > >代码> $(‘已知类>.div-i-Wang-Talk’)不会找到您想要的。

<代码>显然不起作用,因为中间有很多其他div,而我的div不是“已知类”<代码>的子-错,它会起作用,因为在那里没有子选择器,所以这只会影响('div-i-Wangto to Talk)。嵌套在
已知类
jQuery('.known class.DIV-I-WANT-TO-TARGET')
-这将起作用(但如果在类名中使用破折号,则不会起作用!)。这将查找任何子代,而不仅仅是子代。任何具有“泛型”的.div-I-WANT-TO-TARGET类的div在另一个div中,已知的类是你在你自己的问题中已经有了答案的第二件事。帮助我们清理,这样你就可以删除帖子:(代码)>显然不起作用,因为中间有很多其他div,我的div不是“已知类”< /C> >的错误。它可以工作,因为您在那里没有子选择器,所以这只会影响嵌套在
已知类
jQuery('.known class.DIV-I-WANT-TO-TARGET')中的('.DIV-I-WANT-TO-TARGET')
-这可以工作(尽管如果在类名中使用破折号的话就不行!)。这将查找任何子代,而不仅仅是子代。任何具有“泛型”的.div-I-WANT-TO-TARGET类的div在另一个div中,已知的类是你在你自己的问题中已经有了答案的第二件事。帮助我们清理,这样你就可以删除帖子:(代码)>显然不起作用,因为中间有很多其他div,我的div不是“已知类”< /C> >的错误。它可以工作,因为您在那里没有子选择器,所以这只会影响嵌套在
已知类
jQuery('.known class.DIV-I-WANT-TO-TARGET')中的('.DIV-I-WANT-TO-TARGET')
-这将