使用带有变量的jquery计算直接子元素
count immediate child elements using jquery with a variable
这个问题与这个问题类似(但不准确):使用jQuery计算div的直接子元素
我有一堆清单,代表给不同人的圣诞礼物。举个例子,这是给一个人的礼物清单。注意可以添加新人
<ul id = "presents">
<li id = "person1" >
<ul id = "presentsforperson1">
<li id = "present1" >
<ul id = "present1info">
<li> Present 1 </li>
<li> A New Pair of Shoes </li>
<li> $19.99 </li>
</ul>
</li>
<!-- More presents for person 1 can be added here dynamically-->
</ul>
</li>
<!-- More people can be added here -->
</ul>
与张贴的问题不同,我将对象presentsforperson1放在一个名为drop(可丢弃)的变量中。我想知道用这个变量找到person 1(在这种情况下是1)的礼物数量的正确语法是什么?
这是我到目前为止所尝试的:
var numberofPresents = $(drop + "ul > li").length; //drop holds li#presentsforperson1 .droppable
var numberofPresents = $(dropid + "ul > li").length; //dropID is $(drop).attr("id");
如果这个人的id是包含他们礼物的ul
的id,那么只需:
$('#personId > li').length
可以。
或者如果id在变量中:
$('#' + personId).children('ul').length
显然可以将子选择器附加到选择器字符串中,例如:
$('#' + personId + ' > ul').length
但是我个人觉得带有。children调用的版本更容易读。
假设你的drop
变量引用了一个jQuery对象:
var quantity = drop.children().length;
如果它有原始DOM元素:
var quantity = $(drop).children().length;
如果它只是一个带ID的字符串,没有ID选择器语法:
var quantity = $('#' + dropid).children().length;
或者您可以像下面这样进行连接:
var quantity = $('#' + dropid + " > li").length;
你可以这样做(给你的li
s代表一个css类):
var presents = $('ul[id="person1"]').children('li.presentClass');
alert(presents.length);
相关文章:
- 如何计算元素绝对位于其中的容器的大小
- 计算元素的剩余宽度
- 如何仅按名称计算元素长度,而不是使用 javascript 显示 non
- Jquery计算元素中的字符,并为太短的字符添加填充
- 使用 JavaScript 计算元素的点击次数
- 如何按类名计算元素的数量,并将结果转化为变量
- Javascript mobile-根据屏幕尺寸以像素为单位计算元素尺寸
- Javascript:首先计算元素的数量,然后编写所需变量的确切数量
- 如何在删除时计算元素,这样我就不会以空()结束
- 如何用JQuery计算元素的宽度和高度
- 如何计算元素'考虑到折叠边缘的高度
- 在selenium webdriver上使用xpath()在javascript中计算元素的数量
- 使用JavaScript动态计算元素填充
- 如何用Angular计算元素
- 如何计算元素相对于屏幕的位置
- 茉莉+业力- Firefox不计算元素.高度和元素.正常宽度
- 你能在jQuery中使用length()按图像名称计算元素吗
- 计算元素尺寸以适合容器内
- 如何使用Javascript计算元素中使用的单词
- 在所有浏览器中计算元素的绘制时间