这是有效的jQuery吗?或者我是否经常使用常规JavaScript混合使用它?在任何情况下它都不起作用(我希望它在适当的标签之间打印“测试”):
<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>
在html中。
答案 0 :(得分:3)
不,这不是“混合jQuery和Javascript”太多了。 jQuery 是 Javascript。你永远不必担心混合它们。
我无法重现你的问题。你的代码似乎工作正常。 See it in this demo
那就是说,我认为你应该使用一种比jQuery更惯用的方法,而不是将Javascript与标记混合。
我建议您更改NAME
属性
NAME="button4"
到id
属性:
id="button4
并使用这个jQuery:
var testing = "testing";
$("#button4").click(function(){
$("#cont").html(testing);
});
答案 1 :(得分:2)
答案 2 :(得分:0)
如果您使用的是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还有一个好处,就是你可以更少地担心跨浏览器的差异。
答案 3 :(得分:0)
如果您正在使用jQuery(这是一个用JS编写的框架),请以适当的方式进行,以提高可读性:
var testing = "testing";
$("button[name=button4]").click(function () {
$("#cont").html(testing);
});
将其放在按钮后面,或将代码放在$(function () {
和});
之间。 jQuery有一个很好的文档,可以在http://api.jquery.com/
答案 4 :(得分:0)
您的脚本标记是否显示在页面中的input
元素之前?如果没有,那就是问题(或至少其中一个)。
或者通过检查任何JS调试器中的控制台来检查以确保页面上没有任何其他javascript错误。
P.S。 JQuery是Javascript,更具体地说,它是一个用Javascript编写的帮助程序代码库,可以更方便地使用浏览器。