ips*_*cto 4 javascript jquery document position
我有以下代码用于创建选项卡.它工作在html主体部分的末尾,但如果我将它放在开头 - 在定义所有div之前.为什么会这样?
<script type="text/javascript">
$("ul.tabs li.label").hide();
$("#tab-set > div").hide();
$("#tab-set > div").eq(0).show();
$("ul.tabs a").click(
function() {
$("ul.tabs a.selected").removeClass('selected');
$("#tab-set > div").hide();
$(""+$(this).attr("href")).show();
$(this).addClass('selected');
return false;
}
);
$("#toggle-label").click( function() {
$(".tabs li.label").toggle();
return false;
});
</script>
Run Code Online (Sandbox Code Playgroud)
Tho*_*mas 10
这很可能是因为DOM还没有准备好,因此它们不存在.
因此,您需要执行以下操作:
$(function() {
// Any code in here will only be executed when the DOM is ready.
});
Run Code Online (Sandbox Code Playgroud)
你需要用文件就绪块包装它.这可以防止代码触发,直到页面完全加载.
<script type="text/javascript">
$(function() {
// do something on document ready
$("ul.tabs li.label").hide();
$("#tab-set > div").hide();
$("#tab-set > div").eq(0).show();
$("ul.tabs a").click(
function() {
$("ul.tabs a.selected").removeClass('selected');
$("#tab-set > div").hide();
$(""+$(this).attr("href")).show();
$(this).addClass('selected');
return false;
}
);
$("#toggle-label").click( function() {
$(".tabs li.label").toggle();
return false;
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
769 次 |
| 最近记录: |