jsfiddle链接是http://jsfiddle.net/PrfZy/1/
代码是:
$button = $('<button />', { text: "Some text.", name: "myButton"});
alert($button.attr("name"));
alert($button.attr("text"));
为什么第二个警报“未定义”?
答案 0 :(得分:2)
text
不是attr
,因此如果您将该行更改为此alert($button.text());
,您将获得预期结果。
答案 1 :(得分:2)
<button>
的有效属性为name
,type
,value
和disabled
(实际上属于属性,应设置和访问通过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/
当然,两者的妥协是设置有效的HTML5自定义数据属性并通过data()
$button = $('<button />').attr('data-text','Some text.').attr('name','myButton');
alert($button.attr('name'));
alert($button.data('text'));