我是javascript的新手 我有一个多维数组,里面有'li'。我想为我的多维数组中的所有li添加click事件监听器 我的数组是这样的
newItems = [
[li.pL14, li, li.pR15],
[li.pL14, li, li.pR15],
[li.pL14, li, li.pL14],
[li, li.pR15, li.description],
[li.pL14, li, li.pR15],
[li.pL14, li]
]
答案 0 :(得分:3)
假设newItems
包含节点数组,而不是字符串。
变体#1。简单for loop
:
for (var i = newItems.length; i--;) for (var j = newItems[i].length; j--;)
$(newItems[i][j]).click(function() {
// click
});
变体#2 *。展平数组并转换为jQuery集合:
$([].concat.apply([], newItems)).click(function() {
alert(this.id);
});
答案 1 :(得分:1)
或者您可以使用jquery的地图功能
$.map( newItems , function( val, i ) {
$('#'+val).click(function(){
//do something.
});
});
我知道它迟到了。但是改进起步很晚。 此致
答案 2 :(得分:0)
试试这个......让你的newItems是元素“li”
的MultiDimensional变量for(var i=0;i<newItems.length;i++)
{
for(var j=0;j<newItems[i].length;j++)
{
newItems[i][j].addEventListener('click',function(){
// Your On Click code
},false);
}
}
答案 3 :(得分:0)
HTML
<div id="abc1"><a href="#">linl 01</a></div>
<div id="abc2"><a href="#">linl 02</a></div>
<div id="abc3"><a href="#">linl 02</a></div>
<div id="abc4"><a href="#">linl 02</a></div>
的jQuery
var ids = ["#abc1", "#abc2", "#abc3", "#abc4"];
for(var i=0;i<ids.length;i++) {
$(ids[i]).click(function(){
$(this).find("a").css({
'font-weight':'bold'
});
});
}