将属性设置为最后位置

问题描述:

是否可以使用javascript/jQuery将新属性设置为html元素的最后位置?将属性设置为最后位置

对于属性顺序对于判断段落是否发生变化很重要的情况,这对我很有帮助。

例子:

<p attribute1="true" attribute2="true"> 

现在,我想补充的第三属性,这样所产生的段落看起来像

<p attribute1="true" attribute2="true" attribute3="true"> 

不,这是不可能的。属性在HTML和XHTML标记语言中是无序的,所以浏览器可以按照他们喜欢的顺序*返回它们,例如字母,指定等

你应该使用.data()的方法来跟踪变化重新考虑你的方法,例如:

$("#el").data("changeHistory", []); 

// ... 
$("#el").data("changeHistory").push(new Date().toString()); 
+0

这正是我认为 - thx确认这一点。不幸的是,我没有任何影响力来改变比较函数,因为它在第三方框架内,并且对核心代码进行了讨论 – Thariama 2010-12-03 07:50:12

最理想你永远不应该在位置你需要读取属性顺序(按索引)。

如果您有像这样的元素<div id="container">,您可以使用jQuery添加一个属性,例如$('#container').attr('disabled', true);。请记住,应该将该属性添加到元素的末尾。

另一个提示是,如果您正在寻找修改DOM元素属性(如样式),请考虑查看jQuery API,以便在编写任何过于粗糙的内容之前查看哪些方法是可通用的。例如,如果你想添加一个风格,你可以简单地做$('#container').addClass('hover');

+0

我知道那些jQuery方法,我使用了类似$('#container')。attr ('禁用',正确);但火狐然后显示给我,因为它会是第一个属性。 – Thariama 2010-12-03 07:48:07