我有<div>
,如下所示
<div class="divClass">
<ul class="ulClass">
<li id="liID" class="liClass">
<a href="myLink">
<span class="spanClass">myText</span>
</a>
</li>
</ul>
</div>
现在我想编写一个jQuery脚本来读取<a>
元素并将target属性的值设置为_blank
。
我经历了JQuery change atributes of child elements并获得了一个剧本。但是,它给了我一个如下的脚本
$('.divClass').click(function(e){
$(this).find('.aclass').text("yeeee");
$(this).find('.imgclass').attr("src", "remove_favorit.png");
e.preventDefault();
});
我真正想要的是遍历<div>
,<ul>
,<li>
,然后转到其中的<a>
并设置target
。我怎么能这样做?
答案 0 :(得分:2)
我认为你不希望它在点击时发生,但是下面的代码会在点击target=_blank
内的链接时设置divClass
$(function(){
$('.divClass .ulClass .liClass').on('click', 'a', function(e){
$(this).attr('target', '_blank');
e.preventDefault();
});
});
此代码将在页面加载时执行
$(function(){
$('.divClass .ulClass liClass a').attr('target', '_blank');
});
答案 1 :(得分:2)
在此处查看http://fiddle.jshell.net/MQfJM/
正如您在图像中看到的那样,此代码会在页面加载时为页面中的所有元素添加目标空白。
假设您只想从列表中添加target =“_ blank”。你只需要替换
$('a') with $('ul a')
如果您想在用户点击锚点时添加target =“_ blank”,则可以修改我的代码$(document).ready(function(){ /* code */ })
看起来像
$('a').on( 'click', function(){
$(this).attr( 'target', '_blank' );
});
答案 2 :(得分:1)
您可以使用:$(".divClass > .ulClass > .liClass > a").attr("target", "_blank")
这是一个非常具体的选择器,删除所有&#39;&gt;&#39;如果你需要。