我有一个如下所示的a
:
<a id="tor" onclick="f1(this);">click to change</a>
现在我想将其替换为另一个标签,例如 p
。我尝试了这个但不起作用:
<script type="text/javascript">
function f1(tor) {
tor.replaceWith('<p>Hello</p>');//This doesn't work
alert(tor.id);//But this works
}
</script>
最佳答案
这里的this
或tor
不是一个jQuery对象,而是一个JavaScript HTML元素。将其包裹在 $
内以启用其上的 jQuery 功能:
function f1(tor) {
$(tor).replaceWith('<p>Hello</p>'); // This now works.
alert(tor.id); // This is basic JS, so works.
}
片段
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a id="tor" onclick="f1(this);">click to change</a>
<script type="text/javascript">
function f1(tor) {
$(tor).replaceWith('<p>Hello</p>');
alert(tor.id);
}
</script>
关于javascript - ReplaceWith 不适用于函数内部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35100802/