我只想获取字段属性的当前值。
此字段的默认值如下:
<input validation="defaultValue" />
当我想获得验证属性时,我不知道它是否已经更新过,或者它是否仍然是默认值。
因此,当属性未设置(尚未更新)时,属性将使用prop()
返回undefined
,并且attr()
方法始终返回默认值(实际上并非如此)可维护性,但将来会是这样。)
是否有检查方法:
如果属性设置=&gt;归还财产 else返回属性
由于
答案 0 :(得分:4)
此代码段将执行:
var input = $("input");
var method = typeof input.prop("validation") != "undefined" ? "prop" : "attr";
input[method]("validation");
//Shortened to:
var input = $("input");
input[typeof input.prop("validation")!="undefined"?"prop":"attr"]("validation");
说明:
typeof ... "undefined"
,则返回"prop"
字符串。否则,"attr"
字符串将返回。input
对象的正确方法,input["prop"]
(= input.prop
)或input["attr"]
(= input.attr
)。 "validation"
作为参数传递,结果为:我建议使用data-validation
代替validation
,以符合HTML5标准。
(function($){
/* Defines the curProp method - Getting the current property
* When the property exists, the prop method is used. Otherwise: attr */
$.fn.curProp = function(name){
return this[typeof this.prop(name) == "undefined" ? "attr" : "prop"](name);
}
})(jQuery);