好的,我正在构建我的 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();
关于javascript - 如何从字符串中删除 html DOM 元素(使用 JavaScript)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25954780/