有问题的代码如下:
<head>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script>
var convert = function(){
var str = $('#input')[0].value;
n=str.replace("p","div");
$("#output")[0].value = n;
}
</script>
</head>
<body>
<textarea style="width:600px;height:800px;float:left" id="input"></textarea>
<textarea style="width:600px;height:800px" id="output"></textarea>
<button onclick="convert();" style="width:60px;height=40px">convert</button>
我打算使用此代码从用户那里获取输入,并用“div”替换其中的所有“p”。但是,如果输入有多行,则输出与输入完全相同。所以我去搜索如何在javascript中操作多行字符串。我找到了......但它们主要是关于如何使用已知的多行字符串创建新的字符串变量,并且它们都不会对我的问题有所帮助。
在我看来,用户输入多行字符串已成功分配给函数中的str,问题是str.replace()不能正常工作。这是因为str是一个多行字符串?(并且是一个多行字符串(我甚至不确定这个)?)如果是,我怎么能实现这一点?
答案 0 :(得分:0)
您是否只是在寻找全球替代品?
n=str.replace(/p/g,"div");
Live demo here (click). 输入的所有“p”都会转换为“div”,无论它们在哪一行。
以下是str.replace()
上的一些文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace