2010-12-02 157 views
1

是否可以使用javascript/jQuery將新屬性設置爲html元素的最後位置?將屬性設置爲最後位置

對於屬性順序對於判斷段落是否發生變化很重要的情況,這對我很有幫助。

例子:

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

現在,我想補充的第三屬性,這樣所產生的段落看起來像

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

回答

5

不,這是不可能的。屬性在HTML和XHTML標記語言中是無序的,所以瀏覽器可以按照他們喜歡的順序自由返回它們,例如字母,指定等

你應該使用.data()的方法來跟蹤變化重新考慮你的方法,例如:

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

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

這正是我認爲 - thx確認這一點。不幸的是,我沒有任何影響力來改變比較函數,因爲它在第三方框架內,並且對核心代碼進行了討論 – Thariama 2010-12-03 07:50:12

2

最理想你永遠不應該在位置你需要讀取屬性順序(按索引)。

如果您有像這樣的元素<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