我有一个隐藏字段,其值为<p>Copy 1</p><p>Copy 2</p><p>Copy 3</p><p>Copy 4</p>
。我想用逗号符号替换</p>
标记,并删除<p>
标记,以便最终输出为Copy 1,Copy 2,Copy 3,Copy 4
。我尝试使用JavaScript replace('<p>','')
函数,但我无法将其删除。
答案 0 :(得分:6)
使用map函数,然后使用','。
连接数组$.map(
$('<p>Copy 1</p><p>Copy 2</p><p>Copy 3</p><p>Copy 4</p>'),
function(val, i) {
return val.innerHTML;
}).join(', ');
答案 1 :(得分:1)
如果需要使用.replace执行此操作,您可以这样做(请注意,这不依赖于jQuery):
var stringToTest = "<p>Copy 1</p><p>Copy 2</p><p>Copy 3</p><p>Copy 4</p>";
stringToTest = stringToTest.replace(/<p>/g, "").replace(/<\/p>/g,",");
stringToTest = stringToTest.substr(0, stringToTest.length - 1);
jsFiddle:http://jsfiddle.net/vTpV2/
答案 2 :(得分:1)
“。我尝试使用javascript
replace('<p>','')
函数。”
如果要对字符串执行全局替换,则必须使用全局标志作为第一个参数传递正则表达式。所以:
var val = $("#idOfYourElementHere").val();
val = val.replace(/<\/p><p>/g, ', ') // first swap <p></p> for commas
.replace(/<\/?p>/g, ''); // then swap the leftover <p> and </p>
// for empty strings (i.e., remove them)
答案 3 :(得分:1)
你可以试试这个:
var _sHFVal = _sHFVal.split('<p>').join("").split('</p>').join(',');
_sHFVal = _sHFVal.substring(-1, _sHFVal.length-1);