replaceWith不在函数内部工作

时间:2016-01-30 10:44:08

标签: javascript jquery html

我有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>

1 个答案:

答案 0 :(得分:2)

这里的thistor不是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>