jsfiddle 链接是 http://jsfiddle.net/PrfZy/1/
代码是:
$button = $('<button />', { text: "Some text.", name: "myButton"});
alert($button.attr("name"));
alert($button.attr("text"));
为什么第二个警报“未定义”?
最佳答案
<button>
的有效属性是name
, type
, value
和disabled
(实际上被认为是一个属性,应该通过 prop()
设置和访问)。
您可以使用属性 setter 创建自定义属性(不会验证):
$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'));
关于jQuery 意外返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6868332/