我正在尝试使用jquery创建一个按钮。 我使用以下代码
jquery('<button/>', {type:'button'}).text(name)
然而,这适用于Safari,FF IE8但不适用于IE7
我尝试使用attr函数:
jquery('<button/>').attr('type','button').text(name)
这也不起作用。
任何想法会起作用吗?我想如果我没有分配一个类型,它将默认为按钮,但我宁愿这样做
感谢您的帮助
答案 0 :(得分:5)
试试这个:
var button = $('<button type="button"/>');
现在,实际上,按钮的默认类型是IE中的“按钮”(至少7个,不确定标准模式8)。但是上面应该有效。我前几天刚碰到这个。 IE允许您在创建元素时在元素语法中提供类型,并且似乎jQuery几乎将其参数直接传递到此处的低级DOM API。
哦,它也适用于FF和Chrome。
编辑 - 一年有什么不同,是吗?现在使用jQuery 1.4.4或jQuery 1.5.x,我无法使用该机制。好消息是jQuery 1.6看起来像OP想要的那样:通过以类似jQuery的方式设置“type”。
的作用似乎是在元素上直接调用“.setAttribute()”。因此:
var b = $('<button/>');
b[0].setAttribute('type', 'button');
不抛出异常, 正确设置“type”属性。 (这本身有点奇怪,因为微软明确将“类型”记录为只读。)1.6的变化似乎是沿着同样的路线。以前,库确实检查了“type”并明确禁止在DOM中已经存在的元素上设置它,但是会继续尝试将其设置为不在DOM中的元素的简单属性。现在,1.6代码调用“.setAttribute()”来设置“类型”,这(因为我不知道的原因)工作正常。
答案 1 :(得分:1)
你试过了吗?
var $btn = $("<button>Button Text</button>");
然后您可以将其附加到文档中的任何位置。通常,您可以使用字符串文字以这种方式创建任何DOM元素。
答案 2 :(得分:-1)
我想你想用这个$(':submit')
它会找到任何充当提交按钮的内容。 请参阅:http://api.jquery.com/submit-selector/