我正在尝试突出显示没有href
设置的所有链接,或者它是否为空白。我写了以下内容:http://jsfiddle.net/nSMEf/
$(document).ready(function() {
if ($('.green').attr("href") == "" || typeof $('.green').attr("href") === 'undefined'){
$('.green').attr('class', 'yellow');
}
if ($('.blue').attr("href") == "" || typeof $('.blue').attr("href") === 'undefined'){
$('.blue').attr('class', 'yellow');
}
});
我注意到if语句似乎仅适用于首先出现的链接,并且所有以下链接的样式都相同。第二个“蓝色”组与第一个相同但订单已切换。
我的方法显然不对。是否有可能在每个元素上有条件地应用黄色类(基于href是空白还是没有)?
答案 0 :(得分:2)
这会有帮助吗
$("a").each(function(){
if(!($(this).attr("href")) || $(this).attr("href") == "") {
$(this).addClass("yellow");
}
});
更新了jsfiddle:http://jsfiddle.net/nSMEf/3/
根据评论中的建议编辑上述代码
$("a").each(function(){
var self = $(this).attr("href");
if(!(self) || self == "") {
$(this).addClass("yellow");
}
});
答案 1 :(得分:1)
Hiya 演示 http://jsfiddle.net/5ehtZ/ || http://jsfiddle.net/5ehtZ/2/
<强>码强>
$("a").each(function(){
//do something with the element here.
if (!($(this).attr("href")) || $(this).attr("href") == ""){
// now blue and green diff is not needed because you append yellow if they are empty.
$(this).attr('class', 'yellow');
}
});
答案 2 :(得分:1)
等等......什么?
jQuery选择器不会完成这项工作吗?
$( '蓝色[HREF = “”] ')addClass(' 黄色');