我从 Tumblr API 得到的结果不可靠。当我得到一行文本时,我只收到文本。当有多行时,每行都包含在 <p>
中标签。所以我要么得到:
This is a value with no second line
或
<p>This is a value</p>
<p>with a second line</p>
我希望两者看起来一样。我一直在手动添加 <p>
围绕该值,但这将导致:
<p><p>This is a value</p>
<p>with a second line</p></p>
关于多行值。
我对如何解决这个问题有一些想法,但不确定哪个是最好的。
- 创建新的 CSS 样式
p p {}
这样可以抵消搞砸的造型 - 使用jQuery 获取冗余的DOM 内容
<p>
标记并使它们不冗余 - 只需将文本加载到 jQuery 函数中,查看是否有
<p>
标签,如果没有则添加它们,然后将结果写入 DOM。
我不确定选项 1 是否会很好地工作(尤其是跨浏览器),而且它看起来有点老套。关于选项 2 或选项 3 哪个更好以及我将如何实现有什么想法吗?
编辑:应该提到我正在玩 Tumblr 主题,所以 Python/PHP/ASP/etc 对我来说不可用(这会让我更容易!)。
最佳答案
为什么不只是
if ( str.indexOf('<p>') === -1 ) {
str = '<p>' + str + '</p>';
}
所以,如果没有一次出现 "<p>"
string inside your string,这意味着结果是“单行”,您需要将其包装在 "<p>"
中标签。
关于jquery - 如何确保冗余 <p> 标签不会破坏样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6318922/