Javascript 如何使用jQuery$(this)更改使用“onclick”事件的元素的HTML?
我是jQuery的新手,我对$this的使用有点执着。下面是一个简单的示例代码: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
<!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