jQuery 意外返回未定义

标签 jquery

jsfiddle 链接是 http://jsfiddle.net/PrfZy/1/

代码是:

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

为什么第二个警报“未定义”?

最佳答案

<button> 的有效属性是name , type , valuedisabled (实际上被认为是一个属性,应该通过 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'));

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

关于jQuery 意外返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6868332/

相关文章:

javascript - 如何在 Chrome 扩展中单击 div 上的复选框

javascript - 如果没有发生按键事件,js 按键事件和操作之间的时间间隔

javascript - 在 BootStrap 模态对话框中包含 HTML 代码

javascript - 警报(消息)返回空字符串

javascript - 如何使用 onclick 事件在同一窗口和选项卡中打开链接?

javascript - 如何不失去对登录页面的关注

javascript - jQuery fullcalendar 到波斯语

jquery - Bootstrap Datetimepicker daysOfWeekDisabled 选项无法正常工作

javascript - Jquery - 是否可以重命名 js 函数?

javascript - 通过IE6自动打印