在Jquery中自动结束自关闭标记

时间:2017-09-14 08:28:42

标签: javascript jquery angularjs

我从我的服务中得到以下回复。我需要自动添加一个自闭标签来构建我的DOM。

我如何在Jquery或Angular JS中实现这一点。

Input :
      <link><br><br><b>Hello .This is my input

Output :  
      <link><br><br><b>Hello .This is my input</b></link>

开始输入标签可以是任意标签,因此我无法为链接和粗体标签添加显式逻辑。

感谢您的投入。

2 个答案:

答案 0 :(得分:0)

尝试使用&#34; angular.element&#34;。这将自动关闭标签。 例如:

angular.element("<b>").text("Hello .This is my input")

答案 1 :(得分:0)

这可以使用DomParser完成。使用xml类型可以实现结束标记的确切级别。

var dom = new DOMParser().parseFromString(i, "text/xml");
var removeParserErrorElem = dom.childNodes[0].getElementsByTagName("parsererror")[0];
dom.childNodes[0].removeChild(removeParserErrorElem);

html将位于:dom.childNodes[0];

但它也会使br标签打开和关闭,你必须在某些逻辑中处理它。

试试这个Jquery Clean

编辑:如果你得到了OuterHTML,你将获得html。但是对于<br />代码,它会返回<br>开始标记和</br>结束标记。

var target = dom.childNodes[0].outerHTML; //this returns the fixed html with impreper BR tags.
target.split("</br>").join("");
target.split("<br>").join("<br />"); // target now has the fixed HTML.