javascript - 使用 JavaScript/jQuery 遍历 HTML DOM

标签 javascript jquery html dom

我已阅读所有相关帖子,但肯定有一些我遗漏的内容。我有一个类似于下面的 HTML 文档:

<!DOCTYPE html>
<html>
<head lang="en">
</head>
<body>
    <div>
        <h1 class="hoverClass">HOVER ITEM</h1>
    </div>
    <ul class="listContainer">
        <li class="listItem" >
             <div class="image">
                 <img class="contentImg" src="#"/>
                 <h5 class="innerText">text1</h5>
              </div>
            <p class="outerText">Text2</p>
        </li>
        <li class="listItem" >
             <div class="image">
                 <img class="contentImg" src="#"/>
                 <h5 class="innerText">text1</h5>
              </div>
            <p class="outerText">Text2</p>
        </li>
        <li class="listItem" >
             <div class="image">
                 <img class="contentImg" src="#"/>
                 <h5 class="innerText">text1</h5>
              </div>
            <p class="outerText">Text2</p>
        </li>
        <li class="listItem" >
             <div class="image">
                 <img class="contentImg" src="#"/>
                 <h5 class="innerText">text1</h5>
              </div>
            <p class="outerText">Text2</p>
        </li>

    </ul>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script src="indexjs.js"></script>
</body>
</html>

我想选择'listItem'类的每个元素,以便我可以动态更改contentImg的src以及innerText和outerText的文本。

我似乎只能选择全部或全部不选择。例如代码:

$('.hoverClass').hover(function(){
    var li =  $(".listContainer").children().length;
    var title = $(this);
    title.text(li);
});

将显示列表项的数量和

var li =  $(".listContainer").hide();

将隐藏所有项目,但是

var li =  $(".listContainer").children()[0].hide();

不隐藏第一个列表项 div (class='image') - 我相信这将是第一个子元素。

我也尝试过使用

var node = document.getElementByClassName();

同时使用“contentList”和“image”,并且无法迭代结果数组或单个元素的索引。

有人可以告诉我我做错了什么或误解了吗...... 谢谢

最佳答案

您没有使用“contentList”类。 获取子元素就像

  1. $(".listContainer").children();
  2. :eq() 选择器将为您提供基于索引的匹配元素。 https://api.jquery.com/eq-selector/
  3. 然后你可以轻松地使用 hide() 隐藏;方法

$(".listContainer").children(':eq(index)').hide();

关于javascript - 使用 JavaScript/jQuery 遍历 HTML DOM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35039038/

相关文章:

javascript - 检查是否支持 <a href ="tel:5555555">

javascript - 选择下拉列表不显示(jquery-chosen)

HTML 链接无效

javascript - jQuery Ajax 方法成功,但没有收到数据

javascript - 使用 jQuery Tablesorter 2.0 插件时如何禁用 thead 上的点击触发器?

css - 默认的占位符样式是什么?

JavaScript 按 data.length 追加元素

打字时 javascript 输入格式不起作用

javascript - 未设置 CORS header - 我可以请求图像 url,然后将其返回给自己吗?

javascript - jquery 事件优先级