Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.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/75.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 jQuery选择器,css路径替换:eq_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript jQuery选择器,css路径替换:eq

Javascript jQuery选择器,css路径替换:eq,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我的JavaScript脚本有问题 我需要将使用工具设置的CSS样式导出到浏览器可读的CSS文件中。 JavaScript函数获取我更改的元素的路径,并返回如下内容: html>body>div:eq(2)>div>div:eq(1)>article>div>div>p:eq(1){text-decoration:underline;} 该路径作为jQuery选择器非常适用,但在CSS文件中无效 我试图用:n子元素替换:eq元素,但尽管它是一个有

我的JavaScript脚本有问题

我需要将使用工具设置的CSS样式导出到浏览器可读的CSS文件中。 JavaScript函数获取我更改的元素的路径,并返回如下内容:

html>body>div:eq(2)>div>div:eq(1)>article>div>div>p:eq(1){text-decoration:underline;}
该路径作为jQuery选择器非常适用,但在CSS文件中无效

我试图用:n子元素替换:eq元素,但尽管它是一个有效的CSS文件,但该样式不适用

我做错了什么?
如何将我的:eq转换为css可以理解的内容。

您可以传入第二个参数标志以进行全局搜索:

新的RegExppattern[,标志]

使用:


好了,过了一会儿,我找到了一个答案,我想做的事情在css中是做不到的

:eq jQuery选择器不能在纯css中转换

当第n个子元素开始计数为1时,jQuery元素基于0

据我所知,如果我们有这样的HTML

<div>
    <div id="ele1" class="foo"></div>
    <div id="ele2" class="foo"></div>
    <div id="ele3" class="foo"></div>
</div>
选择器.foo:eq0返回ele1,而我们需要.foo:nth-child1来获取相同的元素。 如果我们将dom转换为

<div>
    <div id="ele0"></div>
    <div id="ele1" class="foo"></div>
    <div id="ele2" class="foo"></div>
    ...
</div>
使用eq0的同一选择器将返回ele1,而nth-child1将不返回任何内容,因为容器的第一个子级与.foo不匹配

事实上,如果我们尝试获取n-child2,在第一种情况下,我们得到了ele2,但在第二个容器中,将返回ele1


因为第n个子元素从与选择器匹配的父元素中选择n元素。

要更改字符串的所有出现,请使用:var regExp=new regExp:eq,g;css=css.replaceregExp,':第n个子项';谢谢,我试着在第一个论点中写下它,但它没有起作用,但第二个论点很好。@Leze:很高兴它有帮助:
<div>
    <div id="ele0"></div>
    <div id="ele1" class="foo"></div>
    <div id="ele2" class="foo"></div>
    ...
</div>