javascript - Td 内部元素

标签 javascript jquery html

我对 jQuery/Javascript 很陌生。
我想知道 td 元素是否有多个带有文本的 li 元素..
如果有多个带有文本的 li 元素,我有以下 td 。 代码示例:

<td class="tdClass"/>
  <div id="div1Id" class="div1Class">
    <ul class="ulClass">
        <li id="" class="rtLI rtFirst">
            <div class="rtMid">
                <div>Text1</div>
            </div>
        </li>
        <li id="" class="rtLI rtLast">
            <div class="rtMid">
                <div>Text2</div>
            </div>
        </li>
    </ul>

 </div>
</td>

如果我只有一个没有文本的 li 元素,则执行以下操作:

<td class="tdClass"/>
<div id="div1Id" class="div1Class">
    <ul class="ulClas">
        <li id="" class="rtLI rtFirst rtLast">
            <div class="rtMid">&nbsp;</div>
        </li>
    </ul>

  </div>
</td>

我如何以简单的方式(jQuery/javascript)知道我的td是否有“内部元素”? 我看到,如果有元素,第一个 li 项只有 rtLI rtFirst 类,如果没有 rtLI rtFirst reLast 但我怎么能从我的代码? 谢谢

最佳答案

我的回答基于您的评论

i want to know if i have only one 'li' with inner div element with empty text.

因为您的实际问题的措辞不太清楚。

<小时/>

似乎有多种方法可以实现您所追求的目标,它们都从引用您的 div 元素开始。在 jQuery 中,您可以使用 # 选择器按 Id 选择元素

var $div = $('#divId');

(注意,作为一种常见的约定,您可以在与 jQuery 对象相关的变量前加上 $ 前缀,以将它们与其他变量区分开来。不是必需的,而是一个有用的约定)

从那里开始,只有空白文本的元素似乎同时具有 rtFirstrtLast 类。这样您就可以计算这两个类(class)的 child 人数。如果该计数等于 1,则您拥有该元素。

if($divId.find('.rtFirst.rtLast').length === 1){
    // you only have the one element with both rtFirst _and_ rtLast
}

另一种方法是计算 div 中 ul 的子元素数量

var numberofLis = $divId.children('ul').children().length;
if(numberofLis === 1){
    // you only have the one element
}

还有无数其他方法可以实现同样的目的。

关于javascript - Td 内部元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39163840/

相关文章:

javascript - 与本地存储一起使用的 Hook 调用无效

javascript - 在动态图库中预加载接下来的几张图片

html - 外层 div 不随内层 div 展开

jquery - 如何引用 JQuery 中的调用元素?

html - 使用 npm 安装手机间隙的 shasum 检查失败

javascript - onkeyup 字符在字符串中的位置

javascript - 使用 Bluebird Promise 创建节流功能

Javascript类-函数优化(函数内的函数)

javascript - 平滑滚动条不适用于主体元素

javascript - 仅在当前单击的 Div 上叠加图像 - Javascript