这似乎并不奏效,我得到了.remove()
线的Uncaught Type
错误:如何从HTML字符串中删除元素?
JS:
var str = $("a").html();
var $html = $.parseHTML(str);
$("i",$html).remove();
$("div").html($html);
HTML:
<a href="#">Hello <i>Bob</i></a>
<div></div>
如何得到这个工作?
这似乎并不奏效,我得到了.remove()
线的Uncaught Type
错误:如何从HTML字符串中删除元素?
JS:
var str = $("a").html();
var $html = $.parseHTML(str);
$("i",$html).remove();
$("div").html($html);
HTML:
<a href="#">Hello <i>Bob</i></a>
<div></div>
如何得到这个工作?
您可以克隆a
,更改克隆的html代码并将其放入div
。
$(document).ready(function()
{
var clone = $("a").clone();
clone.find("i").remove();
$("div").html(clone);
});
你有正确的答案。 – 2014-09-10 18:46:21
只需使用.text()函数即可删除HTML标签。
var str = $("a").text();
$("a").text(str);
这将导致:
<a href="#">Hello Bob</a>
例子:http://jsfiddle.net/3s1c55w2/
它是如何工作的:
$("a").text();
将只检索元素的文本,所以在你的它将返回Hello Bob
。Hello Bob
,只需使用.text(str)
再次设置a
标记文本值,其中str
是没有html标记的值。似乎人们无法理解这个问题,请参阅编辑变量使用 – 2014-09-10 18:41:25
您的回答不起作用。 – 2014-09-10 18:43:42
我提供的jsFiddle清楚地表明它确实如此。我会检查你的jQuery实现是否安装正确。 – Axel 2014-09-10 18:45:27
也许他试图从每个锚点删除i标签。
$("a").each(function(index) {
var str = $(this).text();
$(this).html(str);
});
无论如何,这可能是他得到一个类型错误,因为parseHTML()将字符串解析为DOM节点的数组。祝你好运!
如果你想删除的斜体字并留下文字:
$("a").html($("a").html().replace(/<\/?i>/g, ""));
否则,使用或者删除或者断开其他的答案将是合适的。
你想完成什么? – DeFeNdog 2014-09-10 18:33:34
看起来很简单,但要确保您的jQuery库已正确导入。如果我对jQuery的引用关闭,我通常会得到类似的错误。 – ckpepper02 2014-09-10 18:34:52
@DeFeNdog从“”中删除'',非常简单 – 2014-09-10 18:35:40