如何删除</p>
和</p>
之间的空格,以便在点击标题时,.html();
的内容将设置为.question
div ? .html()
的内容是动态生成的,并且通过段落标记之间的空格来生成。我应该能够运行正则表达式或类似的东西,但使用$.trim()
仅适用于字符串的开头和结尾,而不是之间。
<a id="title">click me</a>
<div class="question"></div>
$('#title').click(function() {
$('.question, .mobile-answer').html('<p class="header">Title</p><p>Content of question</p>
< p > more content goes here < /p>
< p > even more content goes here < /p>
')
});
JSFIDDLE:LINK
答案 0 :(得分:1)
如果您的字符串是
str = '<p class="header">Title</p><p>Content of question</p>
< p > more content goes here < /p>
< p > even more content goes here < /p>
'
执行:
str.replace(/\s*(>|<)\s*/g,"$1")
结果:
"<p class="header">Title</p><p>Content of question</p><p>more content goes here</p><p>even more content goes here</p>"
答案 1 :(得分:0)
您可以使用正则表达式删除</p>
和<p>
之间的空格。假设动态内容位于名为content
的变量中:
content = content.replace(/< *\/p *>\s+< *p *>/g, '<p></p>');
答案 2 :(得分:0)
你试过吗?
// remove whitespace after tags
str.replace(/\>[\t ]+$/g, ">");
来源:https://jaketrent.com/post/remove-whitespace-html-javascript/
答案 3 :(得分:0)
由于SEO的问题,我必须简单地将内容设置为div中的切换状态,并根据单击的链接隐藏/显示。这也使得数据不需要使用正则表达式进行过滤。