Javascript 将Jquery与html结合使用
我的Javascript 将Jquery与html结合使用,javascript,jquery,html,Javascript,Jquery,Html,我的jQuery不工作,我不知道我做错了什么 该按钮用于隐藏段落,并在我按下时将其带回来。 已将html和toggle.js代码放入其中。 我正在从名为js的文件夹中引用jquery库 HTML <DOCTYPE = html> <html lang = "en"> <head> <meta charset = "utf-8"> <script src= "js/jquery-1.6.2.js"></script
jQuery
不工作,我不知道我做错了什么
该按钮用于隐藏段落,并在我按下时将其带回来。已将html和
toggle.js
代码放入其中。我正在从名为
js
的文件夹中引用jquery
库
HTML
<DOCTYPE = html>
<html lang = "en">
<head>
<meta charset = "utf-8">
<script src= "js/jquery-1.6.2.js"></script>
<script src = "js/toggle.js"></script>
<title>Jquery Example</title>
</head>
<body>
<input type = "button" value = "Hide" id = "toggle_message"/>
<p id = "message">You can see this paragraph</p>
</body>
</html>
尝试用
$(function(){})包装代码代码>
它可能还无法访问DOM。
e、 g
看看这个
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
</head>
<body>
<input type = "button" value = "Hide" id="toggle_message"/>
<p id = "message">You can see this paragraph</p>
</body>
<script type="text/javascript">
$(document).ready( function () {
$('#toggle_message').click(function() {
var value = $('#toggle_message').attr('value');
$('#message').toggle('fast');
if (value == 'Hide') {
$('#toggle_message').attr('value', 'Show');
} else if (value == 'Show') {
$('#toggle_message').attr('value','Hide');
}
});
});
</script>
</html>
您可以看到这一段
$(文档).ready(函数(){
$(“#切换_消息”)。单击(函数(){
var value=$('#toggle_message').attr('value');
$('#message')。切换('fast');
如果(值==“隐藏”){
$(“#切换#消息”).attr('value','Show');
}else if(值=='Show'){
$(“#切换#消息”).attr('value','Hide');
}
});
});
您的单击
处理程序甚至在您的元素出现在DOM中之前就已连接到DOM
将代码放入toggle.js
中,如下所示:
$(function(){
// your code here
});
或者,您可以将脚本标记放置在元素实际附加到DOM之后,如:
<DOCTYPE = html>
<html lang = "en">
<head>
<meta charset = "utf-8">
<script src= "js/jquery-1.6.2.js"></script>
<title>Jquery Example</title>
</head>
<body>
<input type = "button" value = "Hide" id = "toggle_message"/>
<p id = "message">You can see this paragraph</p>
<script src = "js/toggle.js"></script>
</body>
</html>
Jquery示例
您可以看到这一段
试试这个
<body>
<input type = "button" value = "Hide" id = "toggle_message"/>
<p id = "message">You can see this paragraph</p>
</body>
<script>
$(function(){
$('#toggle_message').click(function() {
var value = $('#toggle_message').attr('value');
$('#message').toggle('fast');
if (value == 'Hide') {
$('#toggle_message').attr('value', 'Show');
} else if (value == 'Show') {
$('#toggle_message').attr('value','Hide');
}
});
});
</script>
您可以看到这一段
$(函数(){
$(“#切换#消息”)。单击(函数(){
var value=$('#toggle_message').attr('value');
$('#message')。切换('fast');
如果(值==“隐藏”){
$(“#切换#消息”).attr('value','Show');
}else if(值=='Show'){
$(“#切换#消息”).attr('value','Hide');
}
});
});
正如您所见,您的代码运行良好
在您的例子中没有这样做的原因是因为DOM是在javascript代码运行之后加载的,所以您需要将代码包装到document ready中
$(document).ready()
或者是一个自调用的匿名函数,或者更好的方法是在结束体标记之前包含脚本,以便它在加载DOM后运行您的代码可以正常工作,只需将您的toggle.js
代码放入一个类似
$(document).ready(){}
您的toggle.js
应该是-
$( document ).ready() {
$('#toggle_message').click(function() {
var value = $('#toggle_message').attr('value');
$('#message').toggle('fast');
if (value == 'Hide') {
$('#toggle_message').attr('value', 'Show');
} else if (value == 'Show') {
$('#toggle_message').attr('value','Hide');
}
});
}
并始终在页面底部,即
标记之前包含Javascript文件。我在脚本顶部缺少“$(文档).ready(函数()”。谢谢大家。
<body>
<input type = "button" value = "Hide" id = "toggle_message"/>
<p id = "message">You can see this paragraph</p>
</body>
<script>
$(function(){
$('#toggle_message').click(function() {
var value = $('#toggle_message').attr('value');
$('#message').toggle('fast');
if (value == 'Hide') {
$('#toggle_message').attr('value', 'Show');
} else if (value == 'Show') {
$('#toggle_message').attr('value','Hide');
}
});
});
</script>
$( document ).ready() {
$('#toggle_message').click(function() {
var value = $('#toggle_message').attr('value');
$('#message').toggle('fast');
if (value == 'Hide') {
$('#toggle_message').attr('value', 'Show');
} else if (value == 'Show') {
$('#toggle_message').attr('value','Hide');
}
});
}