javascript - 如何从字符串中删除 html DOM 元素(使用 JavaScript)?

标签 javascript html angularjs dom meta-tags

好的,我正在构建我的 Angular 应用程序。我将内容的前 100 个字符插入到“描述”元标记中以进行 Facebook 共享,但出现了问题。它还将 DOM html 元素添加到描述中。所以 Facebook 的描述看起来像这样(抱歉,是爱沙尼亚语):

“Mängu võib mängida koos alkoholiga või ilma。Mäng käib järgmiselt:<​ol> <​li>Kõikidele mängijatele antakse paber (soovitatavalt <​img class="lightbox_image"src="img/article_pictures/post_it_note.jpg"alt =""><​span class="lightbox_link"onclick="open_lightbox(this)">kleepuv 便利贴) ja…"

您可以在这里测试: http://vivule.ee/2

我尝试在将元素插入元标记之前删除它们,但我只能删除这么多。

以下是如何删除 br 标签的示例:

  var original_description = $scope.game.description;
  original_description = original_description.replace(/<br>/g,"");

但是我如何删除这样的内容:“<​img class="lightbox_image"src="img/article_pictures/post_it_note.jpg"alt="">",有没有比正则表达式更简单的方法?

最佳答案

我对 angularJS 没有任何想法!但如果你使用 JQuery,那么你可以这样做:

从您拥有的字符串创建一个 JQuery 元素,例如:

var yourHtmlString = '<p>p contents</p> hallo <br/> <i>i contents</i>
    <img  src="img/article_pictures/post_it_note.jpg" alt="">';

var div = $('<div>'+yourHtmlString+'</div>');

现在,要仅获取不带 html 标签的文本,只需执行以下操作:

div.text();

演示: http://jsfiddle.net/Lxyd2joa/

关于javascript - 如何从字符串中删除 html DOM 元素(使用 JavaScript)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25954780/

相关文章:

model-view-controller - 为什么在服务器上使用 MVC?这不是客户端模式吗?

javascript - AngularJS 指令 - 复杂的指令名称

javascript - Spring MVC - 提交表单时子实体ID丢失

javascript - Codeigniter 验证不适用于 AJAX

javascript - 尝试从 JavaScript 函数调用单击隐藏按钮的函数

jquery - 如何在单页中使用 jquery 滚动到保持 anchor 事件属性

javascript - 如何加快网站上的暗模式延迟?

javascript - 如何在打印时隐藏 Material-UI 凸起按钮

javascript - moment.js 时刻未定义

javascript - 有什么方法可以在angular js的ng-repeat中声明和增加一个变量