Mik*_*Dev 11 javascript jquery backbone.js
在下面的代码中,我有两个似乎正常工作的jQuery选择器.是否有理由做一个而不是另一个,还是有另一种首选方式?
var val1 = $("#username", this.el ).val()
var val2 = $(this.el).find("#username").val();
Run Code Online (Sandbox Code Playgroud)
我知道不应该有多个具有相同id的元素,但如果有多个具有相同id的元素,那么在视图中仅选择元素的最佳方法是什么(请参阅下面的用户名示例).
<body>
Username: <input type="text" id="username" /><br />
<br /><br />
<div id="login">
Username: <input type="text" id="username" /><br />
<button id="loginButton">Login</button>
</div>
<script type="text/javascript">
var LoginView = Backbone.View.extend({
el: "#login",
events: {
"click #loginButton": "login"
},
login: function () {
var val1 = $("#username", this.el ).val()
var val2 = $(this.el).find("#username").val();
console.log(val1);
console.log(val2);
}
})
var loginView = new LoginView();
</script>
</body>
Run Code Online (Sandbox Code Playgroud)
---------------------更新------------------------
我创建了jsFiddle示例,以便可以有一个工作示例供其他人查看. http://jsfiddle.net/BarDev/9QpKy/
Rob*_*ska 26
为简洁起见,我通常使用Backbone提供的快捷方式:
this.$('#username')
Run Code Online (Sandbox Code Playgroud)
这是别名 $('#username', this.el);
但是,您使用的任何选择方法都可以正常工作.你在你的例子中得到的其他两种方式都很好.
| 归档时间: |
|
| 查看次数: |
9247 次 |
| 最近记录: |