使用jquery设置多个属性

时间:2013-05-24 09:23:01

标签: jquery

某处我在btn.attr()中犯了一个错误但找不到它。或者显然它不像我想的那样工作,所以现在我很困惑。我可以在javascript中用“with”来做,但我也想学习如何在jquery中做到这一点。所以这是代码:

function setattr(id, value) {
    var btn = document.createElement('input');
    btn.setAttribute('type', 'button');
    btn.attr({
        id: id,
        class: "btnclass", 
        value: "value"
        });};

我可以用某种方式使用$(这个)吗?

4 个答案:

答案 0 :(得分:8)

这是正确的方法,但

  • 您遇到语法问题(字符串"value"未关闭)
  • btn是一个DOM元素,而不是jQuery
  • class是保留字

这样做:

$(btn).attr({
    id: id,
    "class": "btnclass", 
    value: "value"
});

请注意,应该通过查看浏览器的控制台来发现这些错误。

答案 1 :(得分:0)

而不是:

var btn = document.createElement('input');
...

你可以简单地说:

var btn = $('<input type="button" id="'+id+'" class="btnclass" value="value"/>');

然后,您可以使用.appendTo().prependTo()或jQuery提供的各种其他方法将此内容分配给您的页面。

JSFiddle example

答案 2 :(得分:0)

使用jQuery,你可以这样做:

function setattr(id, value) {
    var $btn = $('<input/>', {
        id: id,
        class: "btnclass",
        type: 'button',
        value: value
    });
}

请不要忘记将新的btn添加到element

答案 3 :(得分:0)

试试 Demo

function setattr(id, value) {
var btn = document.createElement('input');

 $(btn).attr({
    type: 'button',
    id: id,
    class: "btnclass", 
    value: value
});
//bind event
$(btn).on('click', function(){
  alert('work....');
});
  $('body').append(btn);
};