如何在某个位置的div文本中插入html对象?

时间:2013-03-28 20:47:31

标签: javascript jquery

我有一个包含一些用户输入文本的div。

我希望能够插入一个html对象,span可以说在这个div的文本中的某个位置。

例如:

<div>
    There is some text in this div and I would like to append an html object right here.
    There might be some other text here.
</div>

将其变为:

<div>
    There is some text in this div and I would like to append an html object <span class="safeHtml"></span> right here.
    There might be some other text here.
</div>

需要考虑的一些事项:

  1. 我不想将整个div渲染为安全的html,因为用户输入可能包含可能破坏我的设计或一些讨厌的脚本的html标签。
  2. 我想将html渲染为插入的对象;其余的文字。
  3. 由于

    PS:现在还是足够具体,还是应该在黑板上为那些关闭问题的人和下来的人画一张照片?

2 个答案:

答案 0 :(得分:1)

您可以执行此操作来替换right here

$('div').each(function(){
  $(this).html($(this).html().replace(/right here/, '<span>something</span>'));
});

如果您只想插入,可以这样做:

$('div').each(function(){
  var html = $(this).html();
  var i = html.indexOf('right here');
  if (i>=0) $(this).html(html.slice(0, i)+'<span>something</span>'+html.slice(i));
});

答案 1 :(得分:0)

我无法理解这个问题。但我想,这就是你要找的东西。 http://jsfiddle.net/rexonms/wzBh3/

HTML

<div>
    Some text. <span id="newText"> </span> .Some more text.
</div>

的Javascript

var htmlObject = "Text from HTML object"; 
$("#newText").append(htmlObject);