将文本转换为id jquery中的html

时间:2017-11-29 07:25:27

标签: javascript php jquery html

我试图将文字转换为我内容中的html

我的PHP代码是

<div id="post-content-<?= $post->id; ?>" data-ui-markdown data-ui-show-more style="overflow: hidden;">
  <?= humhub\widgets\RichText::widget(['text' => $post->message, 'record' => $post, 'markdown' => true]) ?>
</div>

我得到了元素

的结果
<div id="post-content-22" data-ui-markdown="" data-ui-show-more="" style="overflow: hidden;"><p><a href="https://ibb.co/f3hrTR" rel="noopener noreferrer">&lt;img src="https://preview.ibb.co/hi0Oa6/Chrysanthemum.jpg" alt="Chrysanthemum" border="0"&gt;</a> <br>
<a href="https://ibb.co/cCAOa6" rel="noopener noreferrer">&lt;img src="https://preview.ibb.co/kfhEhm/Desert.jpg" alt="Desert" border="0"&gt;</a> <br>
<a href="https://ibb.co/jCvZhm" rel="noopener noreferrer">&lt;img src="https://preview.ibb.co/i2Uuhm/Hydrangeas.jpg" alt="Hydrangeas" border="0"&gt;</a> <br>
<a href="https://ibb.co/gWVZhm" rel="noopener noreferrer">&lt;img src="https://preview.ibb.co/fzv0Nm/Jellyfish.jpg" alt="Jellyfish" border="0"&gt;</a></p></div>

和我的jquery代码

var CttText = $('#post-content-'+<?= $post->id; ?>).text();
$('#post-content-'+<?= $post->id; ?>).wrap(CttText);

但我得到的结果只是第一张图片,而不是其他图片。

1 个答案:

答案 0 :(得分:3)

实际上你想在post-content-22内显示所有4个图像(例如)。不是吗?

如果是,则需要使用.html()而不是.wrap()

检查以下演示示例: -

var CttText = $('#post-content-22').text();

$('#post-content-22').html(CttText);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="post-content-22" data-ui-markdown="" data-ui-show-more="" style="overflow: hidden;"><p><a href="https://ibb.co/f3hrTR" rel="noopener noreferrer">&lt;img src="https://preview.ibb.co/hi0Oa6/Chrysanthemum.jpg" alt="Chrysanthemum" border="0"&gt;</a> <br>
<a href="https://ibb.co/cCAOa6" rel="noopener noreferrer">&lt;img src="https://preview.ibb.co/kfhEhm/Desert.jpg" alt="Desert" border="0"&gt;</a> <br>
<a href="https://ibb.co/jCvZhm" rel="noopener noreferrer">&lt;img src="https://preview.ibb.co/i2Uuhm/Hydrangeas.jpg" alt="Hydrangeas" border="0"&gt;</a> <br>
<a href="https://ibb.co/gWVZhm" rel="noopener noreferrer">&lt;img src="https://preview.ibb.co/fzv0Nm/Jellyfish.jpg" alt="Jellyfish" border="0"&gt;</a></p></div>

根据.wrap()定义: -

  

.wrap()函数可以接受任何可能的字符串或对象   传递给$()工厂函数以指定DOM结构。这个   结构可以嵌套几层深,但应该只包含   一个最重要的元素。这个结构的副本将被包裹   匹配元素集中的每个元素。这种方法   为链接目的返回原始元素集。

所以在你的情况下,它实际上包裹的div不是图像(你真正想要包装在div中)。这就是为什么只有一个图像显示错误的HTML结构。