使用jQuery自动绑定按钮。在问号处放什么代码?
我正在尝试自动绑定按钮。要获得针对按钮1和2的警报,我需要在问号处写下什么 在HTML头中使用jQuery自动绑定按钮。在问号处放什么代码?,jquery,binding,getelementsbytagname,Jquery,Binding,Getelementsbytagname,我正在尝试自动绑定按钮。要获得针对按钮1和2的警报,我需要在问号处写下什么 在HTML头中 jQuery(document).ready(function() { var myButton = document.getElementsByTagName("button"); for (var i = 0; i < myButton.length; i++) { jQuery("#" + myButton[i].id).bind("click", f
jQuery(document).ready(function()
{
var myButton = document.getElementsByTagName("button");
for (var i = 0; i < myButton.length; i++)
{
jQuery("#" + myButton[i].id).bind("click", function()
{
alert(jQuery( --???-- ).data("text"));
});
}
});
jQuery(文档).ready(函数()
{
var myButton=document.getElementsByTagName(“按钮”);
对于(变量i=0;i
在HTML正文中
<button type = "button" id = "btn1">btn1</button>
<script type="text/javascript">
jQuery("#btn1").data("text", "Howdy");
</script>
<button type = "button" id = "btn2">btn2</button>
<script type="text/javascript">
jQuery("#btn2").data("text", "Poo");
</script>
btn1
jQuery(“#btn1”)。数据(“文本”、“Howdy”);
btn2
jQuery(“#btn2”)。数据(“文本”、“Poo”);
以这种方式附加的事件处理程序的上下文是事件处理程序附加到的元素,因此基本上可以选择上下文$(this)
来获取按钮的jQuery
元素
alert(jQuery(this).data("text"));
您还可以通过执行以下操作来减少代码:
$(document).ready(function () {
$('button').click(function (event) {
alert($(this).data('text'));
}
});
这会将单击处理程序附加到页面中的所有按钮上(与getElementsByTagName
相同,然后在每个按钮之间循环) 只需使用$(this)
:
请记住,通过jQuery和JavaScript的混合,您在某种程度上使这一点变得复杂。您可以轻松地使用以下方法:
jQuery('button').click(function(){
alert(jQuery(this).data('text');
});
不必在每个元素之后单独调用
.data()
来设置值,您只需将data text=“value”
放在元素的HTML中,因此:btn1
。很好!更少的混乱,更重要的是我可以摆脱id标签!
jQuery('button').click(function(){
alert(jQuery(this).data('text');
});