0

我正在尝试在 Javascript 中转换一行,以便该功能在 IE7 中工作。下面是我要转换的代码。显然 IE 不喜欢设置问题所在的类属性。所以我的解决方案是使用 JQuery 翻译它以实现浏览器兼容性。但是我无法将数组转换为 JQuery 可以理解的东西。

这是代码:

    ulAccNm.children[iVal].setAttribute("class", "show");

我尝试了以下方法,但它不能正常工作。

  $(ulAccNm).children(jQuery.inArray("iVal")).addClass('show').removeClass('hide');

iVal 的变量转换为父级的子级总数,并遍历每个子级以确定是否添加一个类。任何帮助将不胜感激。

4

3 回答 3

0

我在这里猜了很多,但我认为这将转化为:

$($(ulAccNm).children()[iVal]).addClass('show').removeClass('hide');

但是,如果您想对所有孩子执行此操作,则不需要使用iVal. 只需使用

$(ulAccNm).children().addClass('show').removeClass('hide');
于 2013-02-28T15:14:07.727 回答
0

您可能只想尝试将循环结构从 for 循环更改为 jQuery.each 方法:

$(ulAccNm).children().each(function () {
    // Decide if the class needs to be changed
    if (needsToBeChanged)
        $(this).addClass('show').removeClass('hide');
})
于 2013-02-28T15:15:12.247 回答
0

最终通过使用 Kevin B 对 .children().eq(ival) 的建议进行修复,这使它起作用

于 2013-03-19T15:20:17.953 回答