如何指定按钮元素的名称

时间:2015-03-23 22:15:42

标签: backbone.js backbone-views

我想要一个名为' fire'的按钮,但即使我指定了该值,该名称也不会显示,只是一个空按钮。请帮忙。

 var Tweets = Backbone.View.extend({
        tagName: 'button',
        id: 'tweets',
        className: 'btn btn-primary',
        value: 'fire',
        initialize: function() {
        },
        render: function() {     
            return this;
        }

1 个答案:

答案 0 :(得分:2)

使用视图的“attributes”属性,该属性允许您指定名称+值对的散列。它们将作为属性包含在生成的DOM元素中(即,在您的情况下为“按钮”)。

将此添加到您的推文声明:

...
attributes: { "name": "fire" },
...

这会导致生成的按钮元素如下所示:

<button name="fire" id="tweets" class="btn btn-primary" value="fire"></button>

相关文档在此处:http://backbonejs.org/#View-attributes

但请注意,当您询问如何指定“名称”时,这可能不是您真正想要做的。如果你的目标是获得一个按钮元素,按钮本身上显示“fire”文本,你需要设置按钮标记的内容,而不是标记的某些属性。

按钮元素的相关文档位于:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button

为此,您需要更新渲染方法以手动设置生成的“button”元素的内容。这样的东西应该适用于渲染方法:

render: function() {
    this.$el.text("fire");
    return this;
}

这会导致生成的按钮元素如下所示:

<button id="tweets" class="btn btn-primary" value="fire">fire</button>