jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了.children()jQuery选择器返回多个级别的子级大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下 HTML和jQuery代码

<div id="outer">
 <p>
    <p>paragraph inside division.</p>
    <h2>a heading</h2>
    <ul>
        <li>first item</li>
        <li>second item</li>
    </ul>
 </p>
</div>

jQuery的:

$(function() {
    $divChildren = $('div#outer').children();
    $divChildren.each(function(){
        $(this).css('BACkground-color','red'); 
    });
    alert($divChildren.length); 
});

从我看到的,没有.直接儿童< div id =“outer”>应该是1,但jQuery看到4.为什么?
但是,如果’#outer’内部的一个都包含在另一个div中(而不是< p>),那么它只能看到一个直接子节点(如预期的那样).

编辑:这绝对是一个格式错误的HTML嵌套问题(并感谢大家的回答).但是,我的问题应该更恰当地说:jQuery是否了解并强制执行HTML嵌套规则,还是浏览器构建DOM树(强加嵌套规则),jQuery只返回DOM树中看到的内容

解决方法

你的HTML代码无效.你不能把P标签放在p标签里面

段落元素可以包含在元素“address”,“applet”,“blockquote”,“body”,“button”,“center”,“del”,“dd”,“div”,“fieldset”,“形式“,”iframe“,”ins“,”li“,”map“,”noframes“,”noscript“,”object“,”td“和”th“.

HTML内联元素是可以包含在段落元素中的唯一元素.

> a – 用于创建指向其他页面或位置的链接的锚点在HTML中.> abbr – 表示缩写.>首字母缩略词 – 表示首字母缩略词.> area – 在图像中定义地图区域.> b – 粗体导致开始和结束标记间的文本以粗体显示.> basefont – 允许字体更改.> bdo – 使用ltr(从左到右)或rtl(从右到左)的值覆盖文本方向.> big – 将文本大小设置为大.> br – Break是一个换行符,类似于大多数文档中的回车符和换行符.>引用 – 用于标记文章或其他出版物的标题.>代码 – 表示计算机程序代码.> dfn – 表示定义.> em – 表示强调> font – 允许字体更改.> i – 将标记间的文本设置为斜体> img – 允许在页面中放置图形图像.>输入 – 表单输入> ins – 表示插入的文本.> kbd – 表示从键盘输入的信息.> param – 用于向对象或applet元素添加其他参数.> q – 用于短报价> s – 通过文字打击> samp – 表示样本.> small – 将文本大小设置为小> span – 用于将特殊样式设置为页面特定区域的容器.> Strike – 将文本设置为有一条线穿过它.>强 – 表示强调,基本上是大胆的>分下标> sup – 上标> textarea – 多行文本输入的表单.> tt – 将文本样式设置为等宽电传类型> u – 在开始和结束标记之间设置带下划线的文本.> var – 表示程序中的变量.

大佬总结

以上是大佬教程为你收集整理的.children()jQuery选择器返回多个级别的子级全部内容,希望文章能够帮你解决.children()jQuery选择器返回多个级别的子级所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。