jquery选择标签套标签的问题

<p>

    <p>a</p>

    <p>b</p>

    <p>c</p>

</p>

$("p").eq(0).html() // " " 空字符

$("p").eq(1).html() // "a"

$("p").eq(2).html() // "b"

$("p").eq(3).html() // "c"


为什么第一个p选择的会是空的?要想选择外面的p所包含的html内容怎么写呢?


补充说明:


做爬虫遇到这个,用cheerio选择,和jquery使用方法一样。

因为不是自己写的html,所以没办法修改代码,只能靠工具选出来这一段


<div>

  <p>其他信息</p>

  <p>其他信息</p>

  <p>其他信息</p>

  <!--  -->

  <p>

    <p>需要的信息,条数不固定</p>

    <p>需要的信息,条数不固定</p>

    <p>需要的信息,条数不固定</p>

  </p>

  <!--  -->

  <p>其他信息</p>

  <p>其他信息</p>

</div>


绝地无双
浏览 517回答 3
3回答

侃侃无极

p标签不能够嵌套使用的,也就是p里面不能有p,否则会出现奇怪的事情

慕姐4208626

因为他并没有包裹起来,你可以打开控制台看看新的段落开始就是旧的段落结束上面代码等效于<p><p>a<p>b<p>c</p>

幕布斯6054654

先获取外层 p 的 innerHTML,然后再正则呗
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript