2011-07-29 69 views

回答

2

用於<button>的有效屬性是nametypevaluedisabled(其實際上被認爲一個屬性,並應通過prop()設置和訪問)。

您可以使用屬性制定者創建一個自定義屬性(不驗證):

$button = $('<button />').attr('text','Some text.').attr('name','myButton'); 
alert($button.attr('name')); 
alert($button.attr("text")); 

http://jsfiddle.net/AlienWebguy/PrfZy/2/

的有效語法如下:

$button = $('<button />').text('Some text.').attr('name','myButton'); 
alert($button.attr('name')); 
alert($button.text()); 

http://jsfiddle.net/AlienWebguy/PrfZy/3/

當然,妥協的t他於將設置有效的HTML5自定義數據屬性,並通過data()

$button = $('<button />').attr('data-text','Some text.').attr('name','myButton'); 
alert($button.attr('name')); 
alert($button.data('text')); 

http://jsfiddle.net/AlienWebguy/PrfZy/4/

+0

這不會在本頁面上工作訪問。在控制檯'$('a')。slice(0,1).attr('text','Foo')。attr('text');'; ** SO **使用jQuery 1.52。 – fncomp

+0

啊,我猜這是用'按鈕' – fncomp

+0

@Josh:什麼是** SO **?你爲什麼試圖使用'.slice()'? – Randomblue

2

text不是attr,所以如果您將該行更改爲此alert($button.text());您將得到您期望的結果。