首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JavaScript/JQuery字符串替换

JavaScript/JQuery字符串替换
EN

Stack Overflow用户
提问于 2010-07-07 23:21:32
回答 1查看 1K关注 0票数 0

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

代码语言:javascript
运行
复制
#downloads > ul > li:nth-of-type(1) > ul > li:nth-of-type(3) > a

此CSS选择器在FireFox、CHrome和Safari中运行良好,但IE6不支持第n个类型的选择器。我正在使用的CSS选择器是由Nokogiri生成的,我无法更改它们。

抛出测试我已经完成了以下工作:

代码语言:javascript
运行
复制
#downloads > ul > li:nth(0) > ul > li:nth(2) > a

将第n个选择器更改为普通的第n个,并从第n个值减去1。我一直在尝试用JS编程将CSS选择器从使用nth-of-type转换为正常的nth?所以在运行它之后抛出:

代码语言:javascript
运行
复制
#downloads > ul > li:nth-of-type(1) > ul > li:nth-of-type(3) > a

会变成

代码语言:javascript
运行
复制
#downloads > ul > li:nth(0) > ul > li:nth(2) > a

干杯

Eef

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-07 23:40:57

Javascript

代码语言: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

[See it in action]

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3196193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档