jQuery过滤器结果具有相同名称的类

时间:2015-12-02 11:56:19

标签: javascript jquery angularjs

我刚开始使用jQuery,然后请原谅我的noobish。 我试图做的是“引用一个包含在类中的对象”,但是有更多类具有相同的名称。 我怎样才能到达正确的对象并获得对它的引用,当唯一不同于其他一千多个对象的东西就是div中的文本。

在这种情况下,我试图只显示文字"这应该返回",这是在类&ng; 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>

2 个答案:

答案 0 :(得分:2)

您可以使用: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);
      });
});

updated plnkr Demo.

答案 1 :(得分:1)

如果你想在某处写文字,可以使用CSS选择器,如下所示:

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

eq(0)它是第一个孩子的快捷方式,或者eq(1)是nth-child(2)例如

我希望它会对你有所帮助