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
JavaScript/JQuery字符串替换_Javascript_Jquery_Css_Regex_Css Selectors - Fatal编程技术网

JavaScript/JQuery字符串替换

JavaScript/JQuery字符串替换,javascript,jquery,css,regex,css-selectors,Javascript,Jquery,Css,Regex,Css Selectors,我有以下字符串,它是一个CSS选择器: #downloads > ul > li:nth-of-type(1) > ul > li:nth-of-type(3) > a 这个CSS选择器在FireFox、CHrome和Safari中运行良好,但IE 6不支持第n个类型选择器。我正在使用的CSS选择器是由Nokogiri生成的,我无法更改它们 通过测试,我已完成以下工作: #downloads > ul > li:nth(0) > ul >

我有以下字符串,它是一个CSS选择器:

#downloads > ul > li:nth-of-type(1) > ul > li:nth-of-type(3) > a
这个CSS选择器在FireFox、CHrome和Safari中运行良好,但IE 6不支持第n个类型选择器。我正在使用的CSS选择器是由Nokogiri生成的,我无法更改它们

通过测试,我已完成以下工作:

#downloads > ul > li:nth(0) > ul > li:nth(2) > a
将第n个选择器更改为普通的第n个,并从第n个值中减去一个。我一直在尝试用JS编程,将CSS选择器从使用nth类型转换为正常的nth类型?所以在运行它之后:

#downloads > ul > li:nth-of-type(1) > ul > li:nth-of-type(3) > a
将成为

#downloads > ul > li:nth(0) > ul > li:nth(2) > a
干杯


Eef

Javascript

var str = "#downloads > ul > li:nth-of-type(1) > ul > li:nth-of-type(3) > a";
str = str.replace(/:nth-of-type\(([0-9]+)\)/g, function(match, first) {
   return ":nth(" + (parseInt(first)-1) + ")";
});

alert(str); // -> #downloads > ul > li:nth(0) > ul > li:nth(2) > a
[] ​

见埃米尔·斯滕斯特伦的回答: