【问题标题】:Accessing Element Count and Values Within a Hidden Div访问隐藏 Div 中的元素计数和值
【发布时间】:2010-03-09 04:40:52
【问题描述】:

我无法在 JQuery 中获取要隐藏的 DIV 集内的表的 TR 计数。

这是一个例子:

<div id="questions" style="display: none;">
<table id="tbl_questions">
<thead>
 <tr>
  <th>Question</th>
  <th>Weight</th>
 </tr>
</thead>
<tbody>
 <tr id="q0">
  <td id="td_question0">Some Question 0</td>
  <td id="td_wieght0">Some Weight 0</td>
 </tr>
 <tr id="q1">
  <td id="td_question1">Some Question 1</td>
  <td id="td_wieght1">Some Weight 1</td>
 </tr>
</tbody>
</table>
</div>

注意表格在包含的 div 中。它设置为显示:无。当我尝试运行此 JQuery 代码时,它返回 0。

var question_count = $("#tbl_questions> tr").size();
alert(question_count);

有什么想法吗?

我正在尝试找到计数,然后我可以在表格中构建每个问题和权重的数组。由于 ID 为我提供了一个索引,这应该很简单,但是它包含在隐藏的 DIV 中的事实是否会像上面的问题一样成为问题?

谢谢, 泰根·斯奈德

【问题讨论】:

  • 您会发现,如果您花时间点击“接受答案”复选标记,人们会更加渴望回答您的问题。到目前为止,你只对 25% 的问题做到了这一点,即使你已经评论了一些答案已经解决了你的问题。
  • 你说得对,说得很好。

标签: jquery jquery-selectors


【解决方案1】:

试试:

var question_count = $("#tbl_questions tbody tr").size();

无论嵌套深度如何,这都会选取作为 tbody 的后代的行,而 tbody#tbl_questions 的后代。见http://api.jquery.com/descendant-selector/

以下内容也应该有效,因为tbody#tbl_questions直接 子元素,而包含您的问题的trtbody 元素的直接子元素:

var question_count = $("#tbl_questions > tbody > tr").size();

另见http://api.jquery.com/child-selector/

【讨论】:

    【解决方案2】:

    您的选择器说,“所有 tr 元素都是 'id' 值为 'tbl_questions' 的元素的直接子元素”。没有这样的“tr”元素。

    去掉选择器中的“>”,看看是否有帮助。当您只是在某个特定容器“下方”的某处寻找元素时,您不需要(或不想要)“>”,这意味着向下看一层(即,在直子)。

    【讨论】:

      猜你喜欢
      • 2014-07-11
      • 2015-06-21
      • 2012-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多