Javascript 如何向子元素添加属性(或更改)?

Javascript 如何向子元素添加属性(或更改)?,javascript,jquery,Javascript,Jquery,我使用这个简单的脚本向所有元素添加target=“\u blank”属性 $(function(){ $('a').attr('target', '_blank'); }); 它工作得很好,但我只希望中的受此脚本的影响 我试过: $('#main').$('a').attr('target', '_blank'); 但这根本不起作用……使用以下方法: $('#main').find('a').attr('target', '_blank'); 您应该查看jQuery网站,了解有关选择器的信

我使用这个简单的脚本向所有元素添加target=“\u blank”属性

$(function(){
$('a').attr('target', '_blank');
});
它工作得很好,但我只希望
中的
受此脚本的影响

我试过:

$('#main').$('a').attr('target', '_blank');
但这根本不起作用……

使用以下方法:

$('#main').find('a').attr('target', '_blank');
您应该查看jQuery网站,了解有关选择器的信息(选择器是传递给$function的字符串)

在这种情况下,jQuery将选择id为“main”的任何标记中的所有“a”标记

  • “#”表示“身份”
  • “.”表示“css类”
  • “>”表示“绝对儿童”
  • 还有更多
您甚至可以使用css类指定标记。例如,如果您只想影响css类为“blankLink”的“a”标记,您可以这样做

$('#main a.blankLink').attr('target', '_blank');
退房


也应该有效。

假设html的结构如下所示:

  <div id="main">
         <a id="1"></a>
         <a id="2"></a>
         <a id="3"></a>

         <div>
           <a id="4"></a>
            <div>
               <a id="5"></a>
            </div>
         </div>
    </div>
这将改变1,2,3:

   $('#main > a').attr('target', '_blank');

如果您专门寻找子对象(并非所有子对象),请使用
$(“#main>a”)
$(“#main”).children(“a”)
  <div id="main">
         <a id="1"></a>
         <a id="2"></a>
         <a id="3"></a>

         <div>
           <a id="4"></a>
            <div>
               <a id="5"></a>
            </div>
         </div>
    </div>
 $('#main a').attr('target', '_blank');
   $('#main > a').attr('target', '_blank');