jQuery 从子元素迭代内部子元素
jquery iterate over inner-child element from child elements
我有下一个html:
<div id="segmenter">
<div id="variable" name="Zone">
<h3>Zona</h3>
<ul>
<li><input id="category" type="checkbox" value="Center">Center</li>
<li><input id="category" type="checkbox" value="East">East</li>
<li><input id="category" type="checkbox" value="South">South</li>
</ul>
</div>
<div id="variable" name="Type of">
<h3>Tipo de Restaurante</h3>
<ul>
<li><input id="category" type="checkbox" value="Freestander">Freestander</li>
<li><input id="category" type="checkbox" value="Instore">Instore</li>
<li><input id="category" type="checkbox" value="Mall">Mall</li>
</ul>
</div>
</div>
我想首先迭代具有 id"变量"的分段器的所有div 子项,然后遍历每个子"变量"的 id 为"类别"的所有输入。
使用 Chrome 开发者工具:
跟:
$("#segmenter > #variable")
我得到每个div 变量:[<div id="variable" name="Zona">…</div>, <div id="variable" name="Tipo de Restaurante">…</div>]
现在从这里开始,我尝试的所有内容都不起作用,例如:
$("#segmenter > #variable").find("#category");
我只得到 4 个输入"类别":[<input id="category" type="checkbox" value="Centro">, <input id="category" type="checkbox" value="Freestander">, <input id="category" type="checkbox" value="Instore">, <input id="category" type="checkbox" value="Mall">]
我不知道为什么,我需要的是迭代类似的东西:
var oVariables = $("#segmenter > #variable");
$.each(oVariables, function(){
var oCategory = $(this).find("#category").text();//in the first call for div-name="zone", only have the first input-value"center"
//Iterate Again
//get checked values, etc
});
非常感谢。
ID 应始终是唯一的。
在您的情况下使用类而不是 ID。 比如:
<div id="variable" name="Zone">
_^_ here
<div class="variable" name="Zone"> //do this for all ids
和您的选择器
$("#segmenter > .variable").find(".category");
id 是唯一的。请改用类来存储集合。将所有 ID 更改为类,然后按如下所示进行迭代:
$.each($('div.variable'), function(elem){
$.each($(elem).find('input.category'), function(childElem){
//Do something with childElem here
})
});
不要使用 ID 的!!Id 是独一无二的!!尝试改用类
我有同样的问题。我需要访问新的子标记。
我的方式:
var list_group_items = $("a.list-group-item");
$.each(list_group_items,function(index,value){
$(list_group_items[index]).hover(function(){
$.each($(list_group_items[index]).find('small'), function(childElem,Element){
console.log(Element);
TweenLite.to(Element, 2, {"visibility":"visible"});
});
},function(){
$.each($(list_group_items[index]).find('small'), function(childElem,Element){
//Do something with childElem here
TweenLite.to(Element, 2, {"visibility":""});
});
});
});
注意1:$.each
函数有两个参数,第一个是迭代索引,第二个是元素。
注2:I使用TeenMax库进行动画。
- 如何从data_response获取父元素内部的html
- 单击子元素内部时如何删除该元素
- 获取元素内部的缩写
- Jedible-抑制元素内部的点击
- check元素内部有一些使用jquery的元素
- javascript正则表达式,用于编辑元素内部的css样式属性
- Javascript 将类添加到元素内部的
- 如果在元素内部开始点击并按住,请将注意力集中在元素上
- 在元素内部创建新元素
- 如何在HTML中从元素内部获取值,并在JS中将其设置为变量
- 在IE8中创建元素内部HTML错误
- Javascript - 获取子元素内部 在点击时
- Jquery 选择器元素内部的其他
- 是否可以将元素内部的文本显示在 ::在 css 之前
- 如何使用单击方法在元素内部添加单击方法
- JQuery 查找子元素内部文本并替换为 IMG HTML
- SVG:在子元素内部绘制
- 如何单独检索's在父元素内部的子元素之前和之后
- 没有调用li元素内部的scope函数
- Jquery-修复切换元素内部的超链接