javascript - 如何使用jQuery直接访问span

标签 javascript jquery

我想知道如何在下面的 html 结构中访问这个 [span class="myclass"] ..

        <ul>
    <li class="first">
      <span class="myclass"></span>
      <div class="xx">

        <span></span>
        ........
          </div>
   <li >
      <span class="myclass"></span>
      <div class="xx">

        <span></span>
         ........
      </div>
     </ul>

这里我需要在 [span class="myclass"] 中编写一个函数,但我无法使用 $(".myclass") [我有几个问题] 我只想直接访问跨度本身。如何这样做..?

编辑:phoenix 的 sln 工作正常..但是可以说(仅就我所知)结构是

  <li >
      <span class="myclass"></span>
      <div class="xx">
        <li>
        <span></span>
       </li>
         ........
      </div>
   </ul>

那么为什么第二个li(位于div下)内的span没有得到ref,是因为它们不在同一级别吗..如果我需要访问它们,我需要做一些类似的事情

enter code here

$("li").next(".xx").find(li span:first-child )..或者还有其他什么? 谢谢。

最佳答案

$("li span.myclass")

编辑:好吧,那么也许与

$("li span:first") //EDIT: Don't do that. See below.

显然:第一个stops after the first hit 。所以 :first-child 是正确的选择。

这将选择每个 li 元素中的第一个跨度。但是,如果您还有其他带有跨度的 li 元素,这可能会很棘手......

编辑:如果您无法使用已有的类(class),也许分配一个额外的类(class)会有帮助?

<span class="myclass newClass"></span>
...
var spans = $("li span.newClass");

编辑: 正如凤凰城所指出的

$("li span:first-child")

返回一个列表,其中包含作为 li 元素的第一个子元素的所有 span 元素。我不知道 jQuery 是否将文本节点视为子节点。因此,如果

  • 之间有空格,则可能会被视为第一个子级。因此,请检查元素之间除了换行符之外是否有任何空格。

  • 关于javascript - 如何使用jQuery直接访问span,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1606629/

    相关文章:

    jquery - jqgrid构建后如何设置postData?

    javascript - 数组并显示为未定义

    javascript - Safari 上的 window.print 问题

    javascript - 无法通过 jquery addClass 将类添加到正文

    javascript - 在 Next JS 中使用 `.mdx` 时,如何在 `public/` 文件夹之外的 `next-mdx-remote` 文件中使用图像?

    javascript - 在浏览器调整大小之前,CanvasJs 图表不适合其容器

    javascript - 如何从 JSON 中获取正确的值?

    javascript - 如果用户在出站调用中未接听,Twilio 会发送语音消息

    javascript - 如何将标签直接放在跨度下?

    javascript - 无法访问关闭的 jQuery 对象的方法