我使用这个函数来检查属性的存在:
var hasAttribute = function(el, attr) {
if ("hasAttribute" in el) {
return el.attributes[attr] != null;
}
else if ("outerHTML" in el) {
return (el.outerHTML
.replace(el.innerHTML, "")
.indexOf(" " + attr + "=") > -1);
}
};
问题是当我使用 设置输入值时.val(x)
,如果我使用,我可以获得该值,.val()
但hasAttribute
函数无法检测到它。这个 jsfiddle显示了问题(我希望第一个警报说“输入有一个值”,第二个显示它,但在 Chrome 中至少第一个警报说“输入需要一个值”)。
如何.val(x)
按预期工作?(或如何hasAttribute
检测这些值)