我可以将一个任意属性添加到标签,如<input type ="text"preference ="silly"/>,然后在JS代码中访问它

dko*_*oss 1 javascript jquery dom

有没有办法用无关的属性补充DOM元素,或者标签是否按设计固定了某些属性?举个例子,这可能吗?

<input id="spec" type="text" preference="silly"/> 
Run Code Online (Sandbox Code Playgroud)

然后使用jQuery或DOM请求访问此元素

if ($("#spec").attr("preference")=="silly") {
     document.write("That input is silly")
}
Run Code Online (Sandbox Code Playgroud)

大卫

Que*_*tin 5

添加任意额外属性最多会使HTML无效,并且可能会与将来对语言的更改发生冲突.

HTML 5引入了用于在DOM中存储任意数据的data-*属性.

jQuery可以通过该data()方法访问它们.

<input id="spec" data-preference="silly">
if (jQuery('#spec').data('preference') === 'silly') { ... }
Run Code Online (Sandbox Code Playgroud)