2013-05-12 44 views
1

我只是設置在功能的document.ready自定義屬性以下列方式:jQuery的.attr()不設置自定義屬性和值

$(document).ready(function(){ 
    $("div.para, pre.screen, div.figure, pre.programlisting").attr("data-test-ID", "hello"); 
}); 

當我重新加載HTML和看源,任何地方都沒有這種屬性的痕跡。有任何想法嗎?我真的堅持這一點,不能弄明白。

+1

查看DOM(在您的瀏覽器的上下文菜單中帶有'inspect element')頁面的HTML源代碼不是*,* *不能被*所觸及。 – 2013-05-12 15:41:38

+0

它永遠不會出現。改爲使用chrome的控制檯。 set .data(「testid」)代替 – mplungjan 2013-05-12 15:41:43

+0

@DavidThomas,啊,你當然是對的......傻了我。 – mart1n 2013-05-12 15:44:55

回答

2

這實際上是有效的,您必須查看DOM(文檔對象模型),因爲JavaScript所做的任何更改都不會直接編輯頁面源代碼。源將永遠是服務器發送的內容。

$(document).ready(function(){ 
    $("div.para, pre.screen, div.figure, pre.programlisting").attr("data-test-ID", "hello"); 
    $("#result").text("para contains :" + $("div.para").attr("data-test-ID"));//view value 
}); 

Working Example

使用Chrome或Firefox瀏覽器中,右鍵單擊元素,然後點擊審查元素,以查看由DOM設置的值的元素

你的代碼是正確的和值是逸岸設置:)

+0

感謝您的全面解答。希望這將爲未來的提問者服務,以避免愚蠢的錯誤:) – mart1n 2013-05-12 15:48:41

+1

歡迎您!愚蠢的錯誤發生在所有人身上,有時候我們需要的只是幫助之手:) – Eventor 2013-05-12 23:58:16

相關問題