如何通过jquery从某个元素获取部分文本

How to get the part of text from some element via jquery

本文关键字:元素 获取部 文本 何通过 jquery      更新时间:2023-09-26

我试图先获取里面的文本 li :

<li data-type="course" value="1">
   This Is Some Course
   <ul class="submenu-widget" style="">
      <li data-type="section" value="3">&nbsp;- This Is Some Section
      </li>
      <li data-type="section" value="4">&nbsp;- This Is Another Section
      </li>
      <li data-type="section" value="5">&nbsp;- This Is Some Section - Copy
      </li>
      <li data-type="section" value="8">&nbsp;- This Is Some Section - Copy - Copy
      </li>
      <li data-type="section" value="9">&nbsp;- This Is Some Section - Copy
      </li>
      <li data-type="section" value="10">&nbsp;- This Is Some Section - Copy
      </li>
      <li data-type="section" value="11">&nbsp;- This Is Some Section - Copy
      </li>
      <li data-type="section" value="12">&nbsp;- This Is Some Section - Copy
      </li>
      <li data-type="section" value="13">&nbsp;- This Is Some Section - Copy
      </li>
   </ul>
</li>

我试过了:

var course_name = ui.item.parent().parent().text();

但它也返回所有部分的文本。但我希望它返回"这是一些课程"。

工作小提琴

您可以使用:first选择器:

$('.submenu-widget li:first').text();

如果你想在ul之外获取li,你可以使用数据属性选择它:

$("li[data-type='course']").text();

希望这有帮助。

如果您只想获取文本"这是一些课程",请使用:

$.trim( $('li[data-type="course"]').clone().children().remove().end().text() )

js小提琴示例

如果你使用这个:

$("li[data-type='course']").text();

您将获得包含"这是一些课程"的输入字段的文本

试试这个

jQuery("body>ul>li").contents()
  .filter(function() {
  return this.nodeType === 3;
}).text()