Javascript 如何使用jQuery$(this)更改使用“onclick”事件的元素的HTML?

Javascript 如何使用jQuery$(this)更改使用“onclick”事件的元素的HTML?,javascript,jquery,html,Javascript,Jquery,Html,我是jQuery的新手,我对$this的使用有点执着。下面是一个简单的示例代码: <!DOCTYPE html> <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script> function ch

我是jQuery的新手,我对$this的使用有点执着。下面是一个简单的示例代码:

<!DOCTYPE html>

<html>
    <head>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

        <script>
            function change()
            {
                $(this).html("STOP");
            }
        </script>
    </head>


    <body>
        <h2 onclick="change()">GO</h2>
    </body>
</html>
在这里,如果我单击文本GO,那么我希望它将自身更改为STOP。但它不起作用。我遗漏了什么?

尝试将其传递给引用h2元素的函数:

或者更好,您可以使用。单击事件处理程序:

$('h2').click(function() {
    $(this).html("STOP");
});
尝试将其传递给引用h2元素的函数:

或者更好,您可以使用。单击事件处理程序:

$('h2').click(function() {
    $(this).html("STOP");
});
最佳方法:

<h2>GO</h2>
或者,如果您仍然希望使用内联处理程序,而如果您使用jQuery,则可能不必这样做:

<h2 onclick="change(this)">GO</h2>
首选第一种方法,因为它允许您减少对HTML的依赖。如果更改HTML结构,则不必携带这些内联处理程序。对于这一点,更有效的方法是使用CSS选择器来定位此元素:

<h2 class="btn-go">GO</h2>
现在javascript代码甚至不关心您是使用H2还是按钮标记,它只需要提供btn go类。

最佳方法:

<h2>GO</h2>
或者,如果您仍然希望使用内联处理程序,而如果您使用jQuery,则可能不必这样做:

<h2 onclick="change(this)">GO</h2>
首选第一种方法,因为它允许您减少对HTML的依赖。如果更改HTML结构,则不必携带这些内联处理程序。对于这一点,更有效的方法是使用CSS选择器来定位此元素:

<h2 class="btn-go">GO</h2>
现在javascript代码甚至不关心您是使用H2还是按钮标记,它只需要提供btn go类。

使用:

 <script>
    $('h2').click(function(){
      $(this).html('STOP')
    }
 </script>
并从HTML中删除onclick

<h2>GO</h2>
作为一般规则,您不应该将内联Javascript代码添加到HTML中,以保持显示和功能分离。

使用:

 <script>
    $('h2').click(function(){
      $(this).html('STOP')
    }
 </script>
并从HTML中删除onclick

<h2>GO</h2>

作为一般规则,您不应该将内联Javascript代码添加到HTML中,以保持显示和功能的独立性。

既然您已经标记了jquery,我建议您使用dynamic尝试下面的代码。on是一种非常现代的方法,它的工作方式非常复杂:-

$(document).ready(function(){
   $("h2").on('click', function() {
    $(this).html("STOP");

});

});
对于您的情况,请尝试:-

 function change(e)
            {
                $(e).html("STOP");
            }
和html格式:-

<h2 onclick="change(this)">GO</h2>
演示:-


既然您已经标记了jquery,我建议您尝试使用dynamic.on来编写以下代码,因为这是一种非常现代的方法,而且它的工作方式非常复杂:-

$(document).ready(function(){
   $("h2").on('click', function() {
    $(this).html("STOP");

});

});
对于您的情况,请尝试:-

 function change(e)
            {
                $(e).html("STOP");
            }
和html格式:-

<h2 onclick="change(this)">GO</h2>
演示:-

这是我的签名-

这是我的签名-

用在手机上怎么样?它是动态的,比单击更好

文档:

在上使用如何?它是动态的,比单击更好

文档:

您可以使用jquery:

Html:

或者您可以使用javascript:

<h2 onclick="changeme(this)">GO</h2>
<script>
    function changeme(element) {
    $(element).html("STOP");
}
</script>
您可以使用jquery:

Html:

或者您可以使用javascript:

<h2 onclick="changeme(this)">GO</h2>
<script>
    function changeme(element) {
    $(element).html("STOP");
}
</script>
onclick=onchangethis

function change(obj)
            {
                $(obj).html("STOP");
            }
onclick=onchangethis

function change(obj)
            {
                $(obj).html("STOP");
            }

更新了,不是必需的,我在复制时放错了文本。更新了,不是必需的,我在复制时放错了文本。是的,我也喜欢那样。它也适用于嵌入式元素。那很酷。点击是老式的。竖起大拇指!这不是动态的。和点击一样。是的,我也喜欢那样。它也适用于嵌入式元素。那很酷。点击是老式的。竖起大拇指!这不是动态的。与单击相同。除了现有答案中的信息之外,此答案还添加了什么?除了现有答案中的信息之外,此答案还添加了什么?非常感谢,也感谢其他回答的人!是的,我也喜欢点击解决方案。但有时我需要使用PHP生成HTML元素并传递一些独特的参数,这就是为什么我需要使用内联JS。不过,了解这两种解决方案很方便:D非常感谢,也感谢其他回答问题的人!是的,我也喜欢点击解决方案。但有时我需要使用PHP生成HTML元素并传递一些独特的参数,这就是为什么我需要使用内联JS。不过,了解这两种解决方案很方便:D