[英]Show / hide divs clarification with javascript
已经提出了一个非常相似的问题,并且部分解决了我的问题,但是我想知道在本示例中是否可以使用class
或id
NAMES代替ul li
.menu
, #menu
.menu
等。
css: div { display:none; background:red; width:200px; height:200px; }
div { display:none; background:red; width:200px; height:200px; }
js:
$(function() {
$('ul li').each(function() {
$(this).click(function(e) {
var i = $(this).index();
$('div').hide();
$('div:eq('+i+')').show();
});
});
});
这是此示例的jsfiddle: http : //jsfiddle.net/Z3Hj7/
如果这个问题很愚蠢,请事先道歉,但是我已经想了很长时间了,无法弄清楚。
是的你可以:
$(function() {
$('#menu .list').click(function(e) {
var i = $(this).index();
$('div').hide();
$('div:eq('+i+')').show();
});
});
根本不需要使用循环。
要改善您的js,可以使用$.each
函数的参数:
$(function() {
$('ul li').each(function(i, e) {
$(e).click(function() {
$('div').hide();
$('div:eq('+i+')').show();
});
});
});
我前一段时间写了这个代码片段来隐藏任何带有id的内容。 元素img,div,a,li ul,table等:都需要将样式设置为可见/相对可见性:visible; 职位:相对
该函数将可见更改为隐藏以隐藏元素,然后将位置设置为绝对,以防止元素在其位置上创建空白。
摆弄http://jsfiddle.net/ShawnsSpace/URRDy/
<div id="togglethis" style="visibility: visible; position: relative; border: 4px dotted;">Click the button to toggle this Div</div>
<button onclick="toggle('togglethis');">Toggle</button>
<script type="text/javascript">
//<![CDATA[
function toggle(obj) {
var item = document.getElementById(obj);
if (item.style.visibility=='visible') {
item.style.visibility = 'hidden';
}
else {
item.style.visibility = 'visible';
}
//
if (item.style.position=='relative') {
item.style.position = 'absolute';
}
else {
item.style.position = 'relative';
}
}
//]]>
</script>
要回答有关使用ID和类作为选择器的问题,可以的,您可以: http : //jsfiddle.net/Z3Hj7/1/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.