javascript - $ ('div[class^="ii gt"]') 适用于 chrome 而不是 firefox?

标签 javascript jquery firefox google-chrome-extension firefox-addon

我正在开发 Firefox 扩展。在 Google Chrome 中,我使用以下方法获取元素:
var element = $('div[class^="ii gt"]')
它返回一个对象。然后我使用 element[0].children[0] 得到第一个元素的第一个子元素效果很好。

但在 Firefox 中,在同一个 HTML 页面上使用上述代码返回一个对象,但该对象不包含任何子元素。我还检查了长度为0。此外,我尝试了$("*[class^='ii gt']") and $("*[class*='ii gt']")两者都返回 0 长度。

问题是什么?如何解决?

注意: <div> 的类包含动态前缀名称,如“ii gt aaa”和“ii gt bbb”。

更新:我只是尝试使用 document.getElementsByClassName('ii gt m1485f8bb9d512968 adP adO')[0].innerHTML 使用整个类名.它不起作用。但使用 content.document.getElementsByClassName('ii gt m1485f8bb9d512968 adP adO')[0].innerHTML它有效。问题是什么?有人知道吗?

最佳答案

您可以只使用 $(".ii.gt")。这将选择具有这两个类的所有元素,并且比使用正则表达式作为选择器快得多(prop^=* 是通过正则表达式)。

类的顺序应该无关紧要,那样会使代码变得非常困难。试想一下,你一年后回来,添加一个类,然后一切都停止工作,仅仅通过添加类?

关于javascript - $ ('div[class^="ii gt"]') 适用于 chrome 而不是 firefox?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26438392/

相关文章:

javascript - <canvas> 触摸另一个对象时的 javascript

javascript - foreach 单选按钮显示更多信息

jquery - 使用 jQuery 隐藏和显示 Firefox 关键帧动画

javascript - 是否可以将 selectionCounter 添加到 PrimeFaces 组件?

javascript - Mongoose 不创建索引

javascript - 解构 javascript - 写得更好

javascript - 单击时,将元素克隆到变量并将其附加到另一个元素

jquery - Jquery 可以知道我的 gif 动画何时结束吗?

css - 带溢出的下拉菜单 :visible moves divs around dropdown in Safari?

javascript - "Error loading Script"js错误可以忽略吗?