Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jQuery自动绑定按钮。在问号处放什么代码?_Jquery_Binding_Getelementsbytagname - Fatal编程技术网

使用jQuery自动绑定按钮。在问号处放什么代码?

使用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

我正在尝试自动绑定按钮。要获得针对按钮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", 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');
});