Javascript 如何使用jQuery访问以编程方式生成的元素
如何使用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
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()
,可以使用公共类并使用jQueryeq(index)查找匹配的div,那么您确实不需要增量ID
method-also我想在循环中创建按钮之后使用jQuery访问这些按钮。例如,$(“#btnHour4”),我如何使用I创建jQuery选择器,或者这是不可能的?请参阅更新答案,了解如何获取按钮索引和匹配div。如果使用index()
,则确实不需要增量ID,也可以使用公共类并使用jQueryeq(index)
方法查找匹配div$(“#btnHour”+I).click(函数(){alert('按钮被点击!');});似乎不起作用了…它现在起作用了,首先我必须将按钮附加到div,然后将div附加到文档中。再次感谢。@burakk我把它放在代码块的最后一位,我想这就是它正常工作的原因?$(“#btnHour”+I)。单击(函数(){alert('button was clicked!');});似乎不起作用了…它现在起作用了,首先我必须将按钮附加到div,然后将div附加到文档中。再次感谢。@burakk我把它放在代码块的最后,我想这就是你如何使它正常工作的原因?