将attr应用于div,但不应用于子级(JQuery)

将attr应用于div,但不应用于子级(JQuery),jquery,html,attr,Jquery,Html,Attr,我有一些html代码如下所示: <div id='main'> <a href=''> <div id='otherA'> <a href=''> </div> <div id='otherB'> <a href=''> </div> </div> 使用#main>a作为选择器。这将只拾取紧靠#mai

我有一些html代码如下所示:

<div id='main'>
    <a href=''>
    <div id='otherA'>
            <a href=''>
    </div>
    <div id='otherB'>
            <a href=''>
    </div>
</div>
使用
#main>a
作为选择器。这将只拾取紧靠#main下的“a”标记

$(文档).ready(函数(){
$('main>a').attr('target','u blank');
});

使用
#main>a
作为选择器。这将只拾取紧靠#main下的“a”标记

$(文档).ready(函数(){
$('main>a').attr('target','u blank');
});


tangential:作为一个参考,你应该关闭你的
标记tangential的可能副本:作为一个参考,你应该关闭你的
标记可能的副本。你应该从链中删除
。而不是(…)
方法。@Phylogenesis,我也在看这个。我必须澄清OP的意图,但看起来你的意图是正确的(这就是我使用直系后代选择器的原因)。谢谢你的回答!删除了.not()方法并使用了@ps2goat的代码,但链接具有默认行为。使用“#main a”将所有链接的属性更改为_blank,但将其更改为“#main>a”不会产生任何效果。如果有用的话,我将把这段代码插入CMSMS模板,并使用{cms_jquery}标记获取源代码。然而,这不应该是一个问题,因为“#main a”可以工作。@user3394674,这似乎是一个不同的问题,因为您没有提到任何其他技术。我没有任何使用cmsms的经验,但根据您的环境,您可能需要清除服务器上的缓存。可能还有很多其他的事情。例如,与传统的服务器设置相比,Rackspace云托管需要额外的工作来清除缓存并重新启动asp.net应用程序。您应该从链中删除
。而不是(…)
方法。@Phylogenesis,我刚才也在看这个问题。我必须澄清OP的意图,但看起来你的意图是正确的(这就是我使用直系后代选择器的原因)。谢谢你的回答!删除了.not()方法并使用了@ps2goat的代码,但链接具有默认行为。使用“#main a”将所有链接的属性更改为_blank,但将其更改为“#main>a”不会产生任何效果。如果有用的话,我将把这段代码插入CMSMS模板,并使用{cms_jquery}标记获取源代码。然而,这不应该是一个问题,因为“#main a”可以工作。@user3394674,这似乎是一个不同的问题,因为您没有提到任何其他技术。我没有任何使用cmsms的经验,但根据您的环境,您可能需要清除服务器上的缓存。可能还有很多其他的事情。例如,与传统的服务器设置相比,Rackspace云托管需要额外的工作来清除缓存并重新启动asp.net应用程序。
$(document).ready(function(){
    $('#main a').not(['#otherA a', '#otherB a']).attr('target', '_blank');
});