var attr = $(this).attr('name');
// For some browsers, `attr` is undefined; for others,
// `attr` is false. Check for both.
if (typeof attr !== 'undefined' && attr !== false) {
// ...
}
仅$(this).is("[name]")
怎么样?
[attr]
attr
属性的元素的 CSS 选择器, .is()
检查在其上调用的元素是否与给定的 CSS 选择器匹配。
如果您将经常检查属性的存在,我建议您创建一个hasAttr
函数,以在您的问题中假设使用:
$.fn.hasAttr = function(name) {
return this.attr(name) !== undefined;
};
$(document).ready(function() {
if($('.edit').hasAttr('id')) {
alert('true');
} else {
alert('false');
}
});
<div class="edit" id="div_1">Test field</div>