如何检查任何元素是否具有特定属性

时间:2011-12-15 06:34:30

标签: jquery

假设图像标记具有类似“originalSrc”的自定义属性或类似的东西。 在访问该属性之前,我可以通过jquery检查img标签是否具有该属性。

$("img.lazyload").each(function() {
$(this).attr("src", $(this).attr("original"));
$(this).removeAttr("original");

});

此处我删除$(this).removeAttr("original");之类的属性 在删除之前我想检查img标签是否具有“原始”属性。如果它具有“原始”属性,那么我将删除它。所以,如果jquery有可能进行任何此类检查,请告诉我。

感谢

4 个答案:

答案 0 :(得分:4)

var attr = $(this).attr('original'); 
if (typeof attr !== 'undefined' && attr !== false) { 
//assign to src
} 

答案 1 :(得分:1)

 $('#id[attr]').length

这应该可以解决问题

至于你的问题,你可以做到

 $('img[originalSrc]').length

你还能做得更好

$('img[originalSrc]').bind('eventname',function(){

//do something
});

答案 2 :(得分:1)

HY, 如果你想检查jquery中的html元素或属性是否可用,只需使用

$('#id[attr]').length

否则你可以尝试获取属性的值,然后检查它是否有效

var attribute = $(this).attr('original'); 
if (typeof attribute !== 'undefined' && attribute !== false) { 
//save to other value
} 

答案 3 :(得分:0)

请尝试以下代码..

if ($(this).attr('original')) {
// attribute exists
} else {
// attribute does not exist
}

这对你有帮助。

感谢。