使用高级选择器执行以下任务的 JQuery 代码。 PS:儿童()不工作

Posted

技术标签:

【中文标题】使用高级选择器执行以下任务的 JQuery 代码。 PS:儿童()不工作【英文标题】:JQuery code to perform the following task using advanced selectors. PS : cihldren() not workin 【发布时间】:2020-10-01 02:42:33 【问题描述】:

我们怎样才能只显示前 2 个列表项,以及如何在

下制作子项的背景颜色

标记为绿色。 仅使用 JQUERY

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Advanced Selectors</title>
    <script type="text/javascript" src="jquery-3.5.0.js"></script>
    <script type="text/javascript" src="index.js"></script>
</head>
<body>
    <p id="intro">jQuery is a lightweight, "write less, do more" JavaScript library.
        <h6>The purpose of jQuery is to make it much easier to use
             JavaScript on your website</h6>
    </p>
    <ol>
        <li>HTML/DOM manipulation</li>
        <li>CSS manipulation</li>
        <li>Effects and animations</li>
        <li>AJAX</li>
    </ol>
</body>
</html>

我的 JQuery 代码不工作

$(document).ready(()=>
   //Code to make children of P to green 
   $("p").children().css('background-color:green');
   //Code to display only first 2 items of list

)

【问题讨论】:

【参考方案1】:

只是提到为什么您的代码不起作用是因为首先您不能在 p-tag 中包含 h6-tag。

其次你写道:

$("p").children().css('background-color:green');

最好像这样遍历每个孩子(注意你在 css() 函数中写错了值):

$("#intro").children().each(function()
  $(this).css("background-color", "green");
);

如果只显示两个列表项,您可以这样做:

$("ol").children().each(function() 
index = $(this).index();
if (index > 1) 
  $(this).hide();

JsFiddle:https://jsfiddle.net/boe2sdyk/

【讨论】:

嘿,感谢您的快速帮助。欣赏它。列表被隐藏。但是背景代码仍然无法正常工作。它适用于 DIV 标签,但不适用于

标签

@ROHITKF 没问题。那是因为你不能在 p-tag 中有 h6 标签。 哦,好的。难怪它为什么不起作用。非常感谢您的帮助

以上是关于使用高级选择器执行以下任务的 JQuery 代码。 PS:儿童()不工作的主要内容,如果未能解决你的问题,请参考以下文章

小白入门之前端网页技术JQuery

jQuery 高级选择器

HTML5中类jQuery选择器querySelector的高级使用

通过 :not 在 jQuery 选择器中隐藏除 $(this) 之外的所有内容

jQuery 高级选择器在 Internet Explorer 8 中失败

jQuery高级选择器