jQuery为具有相同名称的类筛选结果

jQuery filter results for classes with same name

本文关键字:筛选 结果 jQuery      更新时间:2023-09-26

我刚开始使用jQuery,请原谅我的noobish。我想做的是"获取对一个类中封装的对象的引用",但还有更多的类具有相同的名称。当它与其他一千多个对象唯一不同的是div中的文本时,我如何才能找到正确的对象并获得对它的引用。

在这种情况下,我试图只显示文本"this should be return",即在类"ng anyclass"下。之后,是否可以存储对该特定div的引用并将其更改为文本?或者任何其他财产?

这是代码:第1页-加载器:

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
            <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
            <script type="text/javascript">
                jQuery(function($){
                var s = $('#result').load('Page2.html .ng-anyclass .ng-anyclass .ng-anyclass');
                });
            </script>
     </head>
        <body>
            <div id="result"></div>
            <div>Other Stuff Here</div>
        </body>
</html>

第2页-目标页面

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        </head>
        <body>
            <div class="ng-anyclass">
                <div class="ng-anyclass">
                    <div class="ng-anyclass">this should be returned</div>
                </div>
                <div class="ng-anyclass">
                    <div class="ng-anyclass">not this</div>
                </div>
            </div>
        </body>
 </html>

您可以使用:eq(0)进行以下操作:

jQuery(function($) {
  $('#result').load('page2.html .ng-anyclass .ng-anyclass .ng-anyclass:eq(0)', function(){
    var _this = $(this)
          setTimeout(function(){
            _this.find('.ng-anyclass').text('changed');
          },1000);
      });
});

更新的plnkr演示

如果你想在某个地方写文本,你可以使用CSS选择器,比如:

$('body .ng-anyclass .ng-anyclass:eq(0) .ng-anyclass').text('your text')

eq(0)是第一个子项的快捷方式,或者eq(1)是第n个子项(2),例如

我希望它能帮助你