2011-07-29 67 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());您将得到您期望的结果。