是否可以使用javascript / jQuery将新属性设置为html元素的最后位置?
如果属性顺序对决定段落是否已更改很重要,这对我有帮助。
示例:
<p attribute1="true" attribute2="true">
现在,我想添加第三个属性,以便生成的段落看起来像
<p attribute1="true" attribute2="true" attribute3="true">
答案 0 :(得分:5)
不,这是不可能的。属性在HTML和XHTML标记语言中是无序的,因此浏览器可以按照他们喜欢的顺序自由地返回它们,例如,字母,指定等。
您应该重新考虑您的方法,例如使用.data()
方法跟踪更改:
$("#el").data("changeHistory", []);
// ...
$("#el").data("changeHistory").push(new Date().toString());
答案 1 :(得分:2)
最理想的是,您永远不应该处于位置,您需要按顺序读取属性(通过索引)。
如果你有一个像<div id="container">
这样的元素,你可以使用jQuery添加一个属性,如$('#container').attr('disabled', true);
。请记住,应该将属性添加到元素的末尾。
另一个提示是,如果您要修改DOM元素属性(如样式),请考虑查看jQuery API,以便在编写任何过于粗糙的内容之前查看哪些方法是可用的。例如,如果您想添加样式,则可以执行$('#container').addClass('hover');