Javascript 在jQuery中添加增量属性?
如何向每对元素(a/div)添加递增ID,并在使用toogle之前单击链接时隐藏/显示Javascript 在jQuery中添加增量属性?,javascript,jquery,html,json,Javascript,Jquery,Html,Json,如何向每对元素(a/div)添加递增ID,并在使用toogle之前单击链接时隐藏/显示div 以下是当前的HTML和JS: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <script src="js/jquery-1.4.min.js"></script> </head> <body> <div c
div
以下是当前的HTML和JS:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<script src="js/jquery-1.4.min.js"></script>
</head>
<body>
<div class="ayuda">
<a>My help n1</a>
<div>
Content help n1
</div>
<br />
<a>My help n2</a>
<div>Content help n2</div>
</div>
<script>
var ayuda = $(".ayuda a").length; // contar el número de columnas
for (var i=0;i<ayuda;++i) // help trae la cantidad de p
{
(function(j) { // creando IDs dinámicos segúna la cantidad de columnas
$('.ayuda a').attr('id', 'mi_ayuda_'+j);
$('.ayuda a').attr('href', '#');
$('.ayuda div').attr('id', 'mi_ayuda_contenido_'+j);
$("#mi_ayuda_contenido_"+j).hide();
$("#mi_ayuda_"+j).click(function () {
window.alert(j);
$("#mi_ayuda_contenido_"+(j) ).toggle();
});
})(i);
}
</script>
</body>
</html>
.因为在for循环中,您的目标不是仅指向当前索引中的元素,而是指向与给定选择器匹配的所有元素
您可以使用
$(".ayuda a").click(function(){
$(this).next().toggle()
}).attr('href', '#').next().hide();
演示:
您的代码应该看起来像,因为在for循环中,您的目标不是仅指向当前索引中的元素,而是指向与给定选择器匹配的所有元素
您可以使用
$(".ayuda a").click(function(){
$(this).next().toggle()
}).attr('href', '#').next().hide();
演示:
您的代码应该类似于用于循环元素、添加ID和附加事件
$(function() {
$(".ayuda a").each(function(i,el) {
$(el).attr('id','mi_ayuda_'+i)
.attr('href', '#')
.next()
.attr('id', 'mi_ayuda_contenido_'+i)
.hide();
$(el).click(function () {
window.alert(i);
$("#mi_ayuda_contenido_"+ i).toggle();
});
});
});
用于循环元素、添加ID和附加事件
$(function() {
$(".ayuda a").each(function(i,el) {
$(el).attr('id','mi_ayuda_'+i)
.attr('href', '#')
.next()
.attr('id', 'mi_ayuda_contenido_'+i)
.hide();
$(el).click(function () {
window.alert(i);
$("#mi_ayuda_contenido_"+ i).toggle();
});
});
});
无需添加ID;不能仅将事件侦听器附加到链接对象。最好在附加事件侦听器以支持动态添加的元素时始终使用
$("div.ayuda").on("click", "a", function(e) {
$(this).next("div").toggle();
});
对于最初在ayuda div中隐藏div,最好添加CSS以避免在加载页面时隐藏这些div的混乱动画
div.ayuda > div {
display: none;
}
无需添加ID;不能仅将事件侦听器附加到链接对象。最好在附加事件侦听器以支持动态添加的元素时始终使用
$("div.ayuda").on("click", "a", function(e) {
$(this).next("div").toggle();
});
对于最初在ayuda div中隐藏div,最好添加CSS以避免在加载页面时隐藏这些div的混乱动画
div.ayuda > div {
display: none;
}
你的问题不清楚。你的问题不清楚。