添加自定义属性以更好地分离JavaScript和HTML

添加自定义属性以更好地分离JavaScript和HTML,javascript,jquery,backbone.js,Javascript,Jquery,Backbone.js,使用jQuery和backbone.js,我希望尽可能地将JavaScript与HTML分开。 是否可以添加一个自定义属性,以便更好地分离JavaScript和HTML? 那么如何使用新的jQuery选择器呢 例如: <input type="text" id="todo-input" class="todo-input" tid="tid-attribute" > hello world </input> // The DOM events // I would li

使用jQuery和backbone.js,我希望尽可能地将JavaScript与HTML分开。
是否可以添加一个
自定义属性
,以便更好地分离JavaScript和HTML? 那么如何使用新的jQuery选择器呢

例如:

<input type="text" id="todo-input" class="todo-input" tid="tid-attribute" > hello world </input>

// The DOM events
// I would like to use another selector tid and not class or id
events: {
  "keypress #todo-input" : "updateOnEnter" // I would like to use another selector tid not id,
  "keypress .todo-input" : "updateOnEnter" // I would like to use another selector tid and not class
}
你好,世界
//DOM事件
//我想使用另一个选择器tid,而不是类或id
活动:{
“按键#todo input”:“updateOnEnter”//I要使用另一个选择器tid not id,
“keypress.todo input”:“updateOnEnter”//I希望使用另一个选择器tid而不是类
}
您可以使用:

$('input[type="text"]').attr('tid', 'tid-attribute');


HTML5允许以
data-
开头的自定义数据属性:

<input type="text" data-custom-attr="somevalue">

我还是不明白。你想分居吗?或者这些属性会困扰你。据我所知,这是视图的工作,不要渲染主干应用程序所依赖的服务器上的任何内容。这将使你的主干应用程序部署到任何地方。HTML
class
属性用于各种事情,而不仅仅用于CSS样式。在元素中添加额外的类只是为了在选择器中使用并没有什么错。
<input type="text" data-custom-attr="somevalue">
"keypress [data-custom-attr='somevalue']" : "updateOnEnter"