使用带有数组的 Jquery 选择器[重复]
Posted
技术标签:
【中文标题】使用带有数组的 Jquery 选择器[重复]【英文标题】:using Jquery selector with an array [duplicate] 【发布时间】:2014-05-11 03:12:29 【问题描述】:我正在尝试将 jquery 选择器与对象数组一起使用。 这是一个例子..
//Declaration
var filterItems = Array();
filterItems[0] = clickDiv: "CategoryPanelHeader", div: "NarrowByCategoryPanelWrapper" ;
filterItems[1] = clickDiv: "ExpandYourResultsHeader", div: "ExpandResultPanelWrapper" ;
filterItems[2] = clickDiv: "Keyword", div: "KeywordDiv" ;
filterItems[3] = clickDiv: "Manufacturer", div: "NarrowByManufacturerPanelWrapper" ;
filterItems[4] = clickDiv: "Credentials", div: "CredentialsDiv" ;
和选择器
$(document).ready(function ()
//binds the click events...
for (var i = 0; i < filterItems.length; i++)
$('#'+ filterItems[i].clickDiv).live('click', function ()
togglemenu($('#' + filterItems[i].div));
);
);
当我发出警报但 jquery 没有绑定点击事件时,我能够正确读取每个项目。
我将如何使用数组来绑定 onclick 事件?
【问题讨论】:
你用的是什么版本的jQuery? 我正在使用 jquery 1.8.14 正如 oGeez 所说。试试.on
,看看会不会有什么不同。
.on 而不是 .live 会出错见上文,我编辑了版本。我正在使用 1.8.14
developer.mozilla.org/en-US/docs/Web/javascript/Guide/…
【参考方案1】:
我明白了! 你只需要调用一个外部函数
$(document).ready(function ()
// gets all the click parameters...
for (var i = 0; i < filterItems.length; i++)
bindClicks(($('#' + filterItems[i].clickDiv)), ($('#' + filterItems[i].div)) );
);
function bindClicks(clickdiv, expanddiv)
//binds the click events
clickdiv.click(function ()
togglemenu(expanddiv);
);
【讨论】:
以上是关于使用带有数组的 Jquery 选择器[重复]的主要内容,如果未能解决你的问题,请参考以下文章