Javascript .after()方法不将HTML字符串显示为HTML
我想在单击段落后在段落后面添加一个html div,但是after方法并没有将参数作为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”); } 我通过以下方
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>