过多地混合使用jQuery和JavaScript

Mixing jQuery and JavaScript too much?

本文关键字:jQuery JavaScript 混合      更新时间:2023-09-26

这是有效的jQuery吗?还是我把它和常规JavaScript混在一起太多了?在任何情况下,它都不工作(我希望它在适当的标签之间打印"testing"):

<script type="text/javascript">
  var testing = "testing";
  testIt=function() {
    $('#cont').html(testing);
  }
</script>
<input TYPE="button" NAME="button4" Value="Write" onClick="testIt()">

显然有一个:

<div id="cont"> </div>

不,这不是太多的"混合jQuery和Javascript"。jQuery 就是 Javascript。你再也不用担心它们混在一起了。

我不能重现你的问题。你的代码似乎工作得很好。在这个演示中可以看到。

也就是说,我认为您应该使用更习惯jQuery的方法,而不是将Javascript与标记混合使用。

我建议修改NAME属性
NAME="button4"

id属性:

id="button4

和使用jQuery:

var testing = "testing"; 
$("#button4").click(function(){
  $("#cont").html(testing); 
});
    JQuery是一个javascript库你的代码工作正常。我能想到的唯一错误是你没有在html文件中包含JQuery。

如果你正在使用jQuery(这是一个为JS编写的框架),以适当的方式来提高可读性:

var testing = "testing";
$("button[name=button4]").click(function () {
    $("#cont").html(testing);
});

把这个放在按钮后面,或者把代码放在$(function () {});之间。jQuery有一个很好的文档,可以在http://api.jquery.com/

如果您正在使用jQuery,我建议使用click处理程序,而不是创建全局变量testIt。例如:

<script type="text/javascript">
    var testing = "testing";
    $("input[name='button4']").click(function() {
        $('#cont').html(testing);
    });
</script>

这样可以更好地分离你的行为(javascript)和你的内容/标记(html)。

从技术上讲,没有太多的jQuery和javascript混合(因为jQuery就是javascript)这样的事情。由于jQuery是DOM所做的许多混乱事情的抽象,因此在可能的地方利用它而不是编写纯javascript是有意义的。编写尽可能多的jQuery还有一个好处,就是您可以更少地担心跨浏览器的差异。

您的脚本标签是否出现在页面中的input元素之前?如果不是,那就是问题所在(或者至少是其中之一)。

或者通过检查各种JS调试器中的控制台来确保页面上没有其他javascript错误。

注:JQuery是Javascript,更具体地说,它是一个用Javascript编写的辅助代码库,使与浏览器的工作更方便。