我的网站上有图片,有些图片有target =“_ blank”属性,有些没有。
这里有两个例子:
目标= _blank:
<a href="/mission.jpg" target="_blank"><img class="alignnone size-medium wp-image-1270" src="/mission-300x289.jpg" alt="mission" width="300" height="289" /></a>
没有目标= _blank:
<a href="/mission_1.jpg"><img class="alignnone size-medium wp-image-1271" src="/mission-300x289.jpg" alt="mission_1" width="300" height="289" /></a>
我正在使用此代码从我的图片中删除链接:
$("a:has(img)").each(function() { $(this).replaceWith($(this).children()); })
否我只想在图片没有target = _blank属性时添加条件来删除链接。
任何人都可以帮助我吗?
非常感谢你的帮助;
答案 0 :(得分:2)
答案 1 :(得分:1)
使用此:
$('a:not([target="_blank"]):has(img)').each(function() {
$(this).replaceWith($(this).children());
})
答案 2 :(得分:0)
$("a:has(img)").each(function() {
var x=$(this).attr('target');
if(x!="_blank"){
//do your stuff here
$(this).remove();
$(this).replaceWith($(this).children());
}
})
<强> JSFIDDLE DEMO 强>
答案 3 :(得分:0)
您可以使用
$("a[target!='_blank']:has(img)").each(function() {
$(this).replaceWith($(this).children());
})
请参阅jsfiddle。
答案 4 :(得分:0)
这是另一种方式,特别是针对与此问题相关的多个浏览器进行检查。
jQuery hasAttr checking to see if there is an attribute on an element
$('a:has(img)').each(function() {
if (!!$(this).attr('target')) {
(this).unwrap();
}
});