Jquery的字符串替换问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jquery的字符串替换问题相关的知识,希望对你有一定的参考价值。
我现在想把一个文件路径字符串的“\”这个方向的斜杠全换成"/"这个方向的,用的是str.replace(“\\”,"/");可是结果是只有第一个斜杠被替换了,后面的还是 \ 这样的,请问应该怎么写?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Test Page</title>
</head>
<body>
<script>
var str1 = 'C:\\\\Program Files\\\\iPod\\\\bin\\\\iPodService.Resources\\\\ca.lproj\\\\iPodServiceLocalized.dll';
var str2 = str1.replace(/\\\\/g, '/');
console.log(str1);
console.log(str2);
</script>
</body>
</html>
注意,replace()中的第一个参数我用的是正则表达式(regular expression)而非字符串,表达式最后要加上g(flag)代表global,意指把所有匹配到的‘\\\\'都替换为’/‘,否则只替换第一个匹配到的’\\\\‘。学好reg exp对于解决类似的问题,包括表单验证等繁琐工作十分有帮助。并且,除了javascript外,大部分主流开发语言都实现了reg exp,只是相互间略有差别。
FYI,你所说的jQuery应该是指JavaScript。JavaScript是一种在Web deveopment中主要用于client side开发的编程语言,而jQuery是一个非常流行的JavaScript开发库。应用jQuery进行开发可以大大简化DOM Manipulation和Ajax等原本较繁琐的工作,更重要的是它能帮助开发人员避免大部分的浏览器兼容性问题,所以近年十分受欢迎。所以请搞清楚,这两者虽然关系密切,但绝不是同一样东西
http://www.css88.com/jqapi-1.7/#p=replaceAll 参考技术C str.replaceAll(“\\”,"/");
是不是这样写?
使用 jQuery 选择器来定位和替换包含 HTML 的字符串中的元素 [重复]
【中文标题】使用 jQuery 选择器来定位和替换包含 HTML 的字符串中的元素 [重复]【英文标题】:Use jQuery selectors to target and replace elements in a string containing HTML [duplicate] 【发布时间】:2014-09-12 12:31:27 【问题描述】:我有一个包含 HTML 的字符串,例如
var myString = "<div><p>testing</p></div>";
我需要定位 p
并将“测试”替换为其他内容,例如“Hello World”。我通常会使用
$("p").innerHTML = "Hello World";
但是,这是字符串的一部分,而不是 DOM 的一部分。如何使用 jQuery 的选择器系统从 HTML 字符串中进行选择?
【问题讨论】:
这看起来不像是它的副本。他甚至说他没有使用 jQuery。 问题 1:您是否拥有 DOM 或者您是否正在使用 DOM 做一些花哨的事情?问题 2:您是否反对“hacky”解决方案,例如在 DOM 中使用占位符并使用它? @JonP 在我的情况下,我有一个模板,我将其作为文本拉入使用 AJAX 的变量中,我想将内容添加到该模板的一部分,然后再将其放入真实 DOM 中的模板持有者.我通常会使用 jQuery 来定位它,但它仍然在一个变量中。我可以将它添加到 DOM 中,然后在其中放置内容,但要定位到确切的内容会更加棘手,并且可能会有几毫秒没有内容。 使用 jquery 的正确方法是var s = '<li>text</li>'; $.parseHTML(s).find("p").text("Hello World")
。不知道为什么这个问题被标记为一个不要求执行此操作的 jquery 方法的重复项
【参考方案1】:
您可以将任何 HTML 转换为可解析的 jQuery 对象。
jQuery - selectors on a html string
$('p', myString).text()
【讨论】:
这允许我检索字符串但不能编辑它(如他的回答中提到的 meni181818 )。 +1,因为它很有用。【参考方案2】:请注意,您不能使用:
$("p", myString).text( "Hello World" );
因为不是“可编辑”DOM (isContentEditable: false
)
【讨论】:
您似乎被其他人否决了,因为这更像是评论而不是答案。我建议删除答案并将其作为评论发布。以上是关于Jquery的字符串替换问题的主要内容,如果未能解决你的问题,请参考以下文章