Javascript .after()方法不将HTML字符串显示为HTML

Javascript .after()方法不将HTML字符串显示为HTML,javascript,html,Javascript,Html,我想在单击段落后在段落后面添加一个html div,但是after方法并没有将参数作为html字符串,而是将其作为普通文本 因此,点击我得到: This is a paragraph. <div>sdfds</div> 这是我正在使用的函数: function abc(e) { e.target.after("<div>sdfds</div>"); } 功能abc(e){ e、 target.之后(“sdfds”); } 我通过以下方

我想在单击段落后在段落后面添加一个html div,但是after方法并没有将参数作为html字符串,而是将其作为普通文本

因此,点击我得到:

This is a paragraph.
<div>sdfds</div>
这是我正在使用的函数:

function abc(e) {
    e.target.after("<div>sdfds</div>");
}
功能abc(e){
e、 target.之后(“sdfds”);
}
我通过以下方式调用此函数:

<p onClick=abc(event)>This is a paragraph.</p>
这是一个段落

功能abc(e){
$(e.target.)。在(“测试”)之后;
}


这是一个段落。

你把原生的
after
函数(我真的不知道存在)和jQuery的
after
方法混淆了。在click处理程序中,
e.target
是一个本机DOM节点,它恰好有一个[显然是非标准的]
after
方法。这与jQuery的方法不同。如果不了解jQuery的行为,则需要将目标转换为jQuery包装的元素:

$(e.target).after('<div>...</div>');
$(e.target).after(“…”);

您将普通JavaScript与jQuery混合在一起。以下是如何做到这两个方面:

JavaScript

功能abc(元素){
var div=document.createElement(“div”);
div.innerHTML=“Text”;
之后的要素(div);
}

这是一个段落。

如果您想使用javascript,请在您的案例中使用innerHTML

<p onClick=abc(event)>This is a paragraph.</p>
<script>
function abc(e) {
    e.target.innerHTML+=("<div>sdfds</div>");
}
</script>
这是一个段落

职能abc(e){ e、 target.innerHTML+=(“sdfds”); }

这个问题似乎有些混乱。这不是jQuery。@David,它不是jQuery,但这可能是问题所在吗?@freedomn-m:可能吧?没有证据表明此代码中正在使用甚至加载jQuery。这里没有使用jQuery。您可能是对的。这有点含蓄,但没有清楚地表现出来。我的错。我想如果OP能够插话并指定jQuery在这里是如何/是否参与进来的,那会很有帮助。
<p onClick=abc(event)>This is a paragraph.</p>
<script>
function abc(e) {
    e.target.innerHTML+=("<div>sdfds</div>");
}
</script>