Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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
Javascript 如何使用jQuery访问以编程方式生成的元素_Javascript_Jquery - Fatal编程技术网

Javascript 如何使用jQuery访问以编程方式生成的元素

Javascript 如何使用jQuery访问以编程方式生成的元素,javascript,jquery,Javascript,Jquery,如何使用jQuery访问动态创建的元素?假设我有以下代码: for (var i = 0; i < count; i++) { var div = document.createElement("div"); div.setAttribute("id", "divHour" + i); var button = document.createElement("button"); button.setAttribute("id", "btnHour" + i

如何使用jQuery访问动态创建的元素?假设我有以下代码:

for (var i = 0; i < count; i++)
{
    var div = document.createElement("div");
    div.setAttribute("id", "divHour" + i);

    var button = document.createElement("button");
    button.setAttribute("id", "btnHour" + i);

    div.appendChild(button);
    document.getElementById("divHours").appendChild(div);
}
for(变量i=0;i
如何使用jQuery访问按钮

var $button0 = $('#btnHour0')
var $button1 = $('#btnHour1')
// ... etc ...
一旦缓存了jQuery对象,就可以随心所欲地使用它

$button0.css({width: 400}).animate({width: 200})

编辑 要访问循环中的所有按钮

// assuming `count` is the same as the code used to create the buttons
for (var i = 0; i < count; i++){
    var $button = $('#btnHour'+i)
    // do stuff with $button here
}
一旦缓存了jQuery对象,就可以随心所欲地使用它

$button0.css({width: 400}).animate({width: 200})

编辑 要访问循环中的所有按钮

// assuming `count` is the same as the code used to create the buttons
for (var i = 0; i < count; i++){
    var $button = $('#btnHour'+i)
    // do stuff with $button here
}

只要知道元素的HTML ID。您需要做的就是:

$(“#html_id”)


jQuery使用CSS选择器

只要知道元素的HTML ID即可。您需要做的就是:

var buttons=$('button[id^="btnHour"]');
$(“#html_id”)

jQuery使用CSS选择器

var buttons=$('button[id^="btnHour"]');
会给你所有的纽扣

您的问题非常模糊,我怀疑您想要访问用户与之交互的div中包含的特定按钮。关于你想要什么,需要更多的细节

编辑:以下是如何访问单击处理程序中按钮的索引

var buttons=$('button[id^="btnHour"]').click(function(){
   var buttonIndex= buttons.index(this);
    var div=$('#divHour'+ buttonIndex)
    /* can now interact with corresponding div*/
});
查找父div的另一种更简单的方法是:

$('button[id^="btnHour"]').click(function(){
   var $parentDiv=$(this).parent()
})
要定位特定按钮,请使用
eq()
方法

var thirdButton=$('button[id^="btnHour"]').eq(2);/* indexing is zero based*/
会给你所有的纽扣

您的问题非常模糊,我怀疑您想要访问用户与之交互的div中包含的特定按钮。关于你想要什么,需要更多的细节

编辑:以下是如何访问单击处理程序中按钮的索引

var buttons=$('button[id^="btnHour"]').click(function(){
   var buttonIndex= buttons.index(this);
    var div=$('#divHour'+ buttonIndex)
    /* can now interact with corresponding div*/
});
查找父div的另一种更简单的方法是:

$('button[id^="btnHour"]').click(function(){
   var $parentDiv=$(this).parent()
})
要定位特定按钮,请使用
eq()
方法

var thirdButton=$('button[id^="btnHour"]').eq(2);/* indexing is zero based*/

给按钮一个类:

div.setAttribute("class", "myButton");
然后你就可以得到所有的按钮了

$('.myButton') ...
例如,要在其上循环,请执行以下操作:

$('.myButton').each(function(){

    console.log($(this).attr("id"));

});

如果要标识每个按钮,请从类中解析数字或为其指定一个
data mynumber
属性,并使用
$(this.data('mynumber')
为按钮指定一个类:

div.setAttribute("class", "myButton");
然后你就可以得到所有的按钮了

$('.myButton') ...
例如,要在其上循环,请执行以下操作:

$('.myButton').each(function(){

    console.log($(this).attr("id"));

});

如果要标识每个按钮,请在类外解析数字或为其指定一个
data mynumber
属性,并使用
$(this.data('mynumber')
选择原始循环中的按钮

for (var i = 0; i < count; i++)
{
    var div = document.createElement("div");
    div.setAttribute("id", "divHour" + i);

    var button = document.createElement("button");
    button.setAttribute("id", "btnHour" + i);

    div.appendChild(button);
    document.getElementById("divHours").appendChild(div);

    // moved after the button has been added to the DOM
    // do something with the button in jQuery
    $("#btnHour" + i).css({width:100})

}
for(变量i=0;i
要选择原始循环中的按钮

for (var i = 0; i < count; i++)
{
    var div = document.createElement("div");
    div.setAttribute("id", "divHour" + i);

    var button = document.createElement("button");
    button.setAttribute("id", "btnHour" + i);

    div.appendChild(button);
    document.getElementById("divHours").appendChild(div);

    // moved after the button has been added to the DOM
    // do something with the button in jQuery
    $("#btnHour" + i).css({width:100})

}
for(变量i=0;i
为它们绑定一些数据,以便以后使用。id,class,rel,任何东西都可以。您还可以使用jquery的
data
函数。为它们绑定一些数据,以便以后使用。id,class,rel,任何东西都可以。你也可以使用jquery的
数据
功能。问题是,我不知道会创建多少个按钮,所以我需要一种类似btnHour+的方法,按钮的数量将与
计数
相同。问题是,我不知道会创建多少个按钮,因此,我需要一种类似于btnHour+的方法,即按钮的数量将与
count
相同,我希望在循环中创建按钮之后使用jQuery访问这些按钮。例如,$(“#btnHour4”),我如何使用I创建jQuery选择器,或者这是不可能的?请参阅更新答案,了解如何获取按钮索引和匹配的div。如果使用
index()
,可以使用公共类并使用jQuery
eq(index)查找匹配的div,那么您确实不需要增量ID
method-also我想在循环中创建按钮之后使用jQuery访问这些按钮。例如,$(“#btnHour4”),我如何使用I创建jQuery选择器,或者这是不可能的?请参阅更新答案,了解如何获取按钮索引和匹配div。如果使用
index()
,则确实不需要增量ID,也可以使用公共类并使用jQuery
eq(index)
方法查找匹配div$(“#btnHour”+I).click(函数(){alert('按钮被点击!');});似乎不起作用了…它现在起作用了,首先我必须将按钮附加到div,然后将div附加到文档中。再次感谢。@burakk我把它放在代码块的最后一位,我想这就是它正常工作的原因?$(“#btnHour”+I)。单击(函数(){alert('button was clicked!');});似乎不起作用了…它现在起作用了,首先我必须将按钮附加到div,然后将div附加到文档中。再次感谢。@burakk我把它放在代码块的最后,我想这就是你如何使它正常工作的原因?