Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript $('div[class^=“ii gt”]”可以在chrome中使用,而不是在firefox中使用?_Javascript_Jquery_Firefox_Google Chrome Extension_Firefox Addon - Fatal编程技术网

Javascript $('div[class^=“ii gt”]”可以在chrome中使用,而不是在firefox中使用?

Javascript $('div[class^=“ii gt”]”可以在chrome中使用,而不是在firefox中使用?,javascript,jquery,firefox,google-chrome-extension,firefox-addon,Javascript,Jquery,Firefox,Google Chrome Extension,Firefox Addon,我正在开发Firefox扩展。在Google Chrome中,我通过以下方式获取元素: 变量元素=$'div[class^=ii gt]' 它返回一个对象。然后,我使用元素[0]获取第一个元素的第一个子元素。子元素[0]工作正常 但在Firefox中,在同一HTML页面上使用上述代码返回一个对象,但该对象不包含任何子元素。我还检查了长度,它是0。此外,我尝试了$*[class^='ii gt']和$*[class*='ii gt'],它们都返回0长度 有什么问题?如何解决? 注意:的类包含动态前

我正在开发Firefox扩展。在Google Chrome中,我通过以下方式获取元素: 变量元素=$'div[class^=ii gt]' 它返回一个对象。然后,我使用元素[0]获取第一个元素的第一个子元素。子元素[0]工作正常

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

有什么问题?如何解决?

注意:的类包含动态前缀名称,如ii gt aaa和ii gt bbb


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

也许使用过滤效果更好

//选择器 $'[数据结果=1]' .html'length children div.ii.gt*:' +$'div'。过滤器 函数i,el{return/^ii gt/i.testel.className;} .儿童。身高; [数据结果]{ 颜色:红色; } 某个部门 儿童组ii.gt 第二儿童分部ii.gt
也许使用过滤效果更好

//选择器 $'[数据结果=1]' .html'length children div.ii.gt*:' +$'div'。过滤器 函数i,el{return/^ii gt/i.testel.className;} .儿童。身高; [数据结果]{ 颜色:红色; } 某个部门 儿童组ii.gt 第二儿童分部ii.gt 您可以使用$ii.gt。这将选择具有这两个类的所有元素,并且比使用regex作为选择器prop^=*通过regex要快得多

类的顺序应该无关紧要,这将使代码变得非常困难。想象一下,你在一年后回来,添加了一个类,然后一切都停止了,只需添加一个类?

你可以使用$.ii.gt。这将选择具有这两个类的所有元素,并且比使用regex作为选择器prop^=*通过regex要快得多


类的顺序应该无关紧要,这将使代码变得非常困难。想象一下,你在一年后回来,加了一门课,一切都停止了,就加了一门课?

我已经解决了我的问题。谢谢大家

var getDocument = content.document;

var composeDecrypt = $(getDocument).find('div[class^="ii gt"]');

var originalContent = composeDecrypt[0].children[0].innerHTML;

我已经解决了我的问题。谢谢你们

var getDocument = content.document;

var composeDecrypt = $(getDocument).find('div[class^="ii gt"]');

var originalContent = composeDecrypt[0].children[0].innerHTML;

你能给我们看一下html标记吗?这似乎在Firefox中起作用:您的Firefox代码是在什么上下文中执行的?@paa:Gmail收件箱邮件上下文。我所说的cintext是指代码是否是内容脚本的一部分,或main.js或其他内容。根据更新判断,您的扩展名是XUL。您的代码在ChromeWindow的内容中执行,这就是为什么您必须使用内容来访问HTMLWindow。您能给我们展示一下html标记吗?这似乎在Firefox中起作用:您的Firefox代码是在什么上下文中执行的?@paa:Gmail收件箱邮件上下文。我所说的cintext是指代码是否是内容脚本的一部分,或main.js或其他内容。根据更新判断,您的扩展名是XUL。您的代码在ChromeWindow的内容中执行,这就是为什么您必须使用内容来访问HTMLWindow。谢谢Martijn。但它不起作用。我尝试了var getclass=$.ii.gt;和var classelement=getclass[0];。但它在firefox中返回null。我只是尝试使用document.getElementsByClassName'ii gt m1485f8bb9d512968 adP adO'[0]。innerHTML.it不起作用。但使用content.document.getElementsByClassName'ii gt m1485f8bb9d512968 adP adO'[0].innerHTML它可以工作。那么有什么问题吗?我不知道GetElementsByCassName是否接受多个类。在这种情况下,您需要querySelector。谢谢Martijn。但它不起作用。我尝试了var getclass=$.ii.gt;和var classelement=getclass[0];。但它在firefox中返回null。我只是尝试使用document.getElementsByClassName'ii gt m1485f8bb9d512968 adP adO'[0]。innerHTML.it不起作用。但使用content.document.getElementsByClassName'ii gt m1485f8bb9d512968 adP adO'[0].innerHTML它可以工作。那么有什么问题吗?我不知道GetElementsByCassName是否接受多个类。在这种情况下,您需要querySelector。@Kooilnc:查看我的更新问题。如何使用类前缀名称获取XUL元素?@Kooilnc:查看我的更新问题。如何使用类前缀名称获取XUL元素?