jQuery非常简单的代码似乎不起作用
jQuery very simple code seems to not work
这是我的jQuery代码:
(function() {
var overlay = {
init: function() {
$('<div></div>', {
class: 'overlay'
})
.insertAfter('button');
}
};
overlay.init();
})();
我希望这会在我的按钮下放一个div,但是创建的HTML不包含div:
<body>
<button>Reveal More Info</button>
</body>
很抱歉,如果这是一个新手问题,我刚刚开始学习。
HTML头:
<head>
<title>jQuery rules</title>
<script src="bower_components/jquery/dist/jquery.min.js"></script>
<script src="script.js"></script>
<style>
body {
background: yellow;
}
button {
margin: 100px 0 0 200px;
}
div {
display: none;
width: 600px;
height: 400px;
background-color: white;
border-radius: 40px;
position: absolute;
left: 25%;
top: 30%;
}
</style>
</head>
从jQuery文档中,请参阅例如。,http://api.jquery.com/jQuery/#jQuery-html属性:
区块报价名称"class"必须在对象中引用,因为它是JavaScript保留字,并且不能使用"className",因为它引用的是DOM属性,而不是属性。
问题是您在将按钮添加到dom之前执行的头中包含script.js,因此insertAfter()将无法找到插入div的button
。
这里的解决方案是使用文档就绪处理程序,或者在正文底部(</body>
之前)插入脚本
//dom ready handler
jQuery(function ($) {
var overlay = {
init: function () {
$('<div></div>', {
'class': 'overlay'
}).insertAfter('button');
}
};
overlay.init();
});
演示:Fiddle
相关文章:
- 面向对象的Javascript代码在IE7中不起作用
- 为什么indexOf在这个js代码中不起作用
- d3js文本传输-示例代码不起作用
- 滚动动画代码不起作用
- 为什么此验证代码不起作用
- KeyPress和Keydown在这个特定的代码上不起作用.只有key-up起作用
- 我的jquery代码不起作用.为什么?
- 调试此代码?警报不起作用
- I'我不知道为什么我的代码没有'不起作用
- jquery中的PHP代码不起作用
- 谷歌地图代码不起作用
- PHP代码中实现的JavaScript |if语句不起作用
- 为什么这个代码不起作用?我花了很长时间试图弄清楚这一点
- Javascript ajax代码在ibm worklight中不起作用
- 这段jquery代码在angular指令中不起作用
- JavaScript在我下面的代码中不起作用
- JS代码使IE9和Safari冻结,在Opera中不起作用
- 复选框检查器在表中不起作用.代码在没有表标记的情况下工作
- JavaScript 按钮不起作用;代码与其他工作按钮相同
- 视频.js在 Safari 中不起作用(代码:4 MEDIA_ERR_SRC_NOT_SUPPORTED)