【问题标题】:How to get this parent value?如何获得这个父值?
【发布时间】:2011-02-15 12:23:38
【问题描述】:

感谢 jQuery 的父母方法,我试图获得一个价值,但我找不到好的“方法”。

你能帮帮我吗?

事件发生在.user-create类的点击上,获取的值为“09h00”

现在,我做到了:myVar = $(this).closest('div').prevAll(':last').children('.heure').text(); 但它不起作用

<li>
   <div class="docheure">
      <span class="heure">
         09h00 <!--IT'S THE VALUE I NEED -->
      </span>
      <span class="doc">
         Dr.Grey
      </span>
   </div>
   <div class="detailrdv">
      <p><span>M / Mme</span> : blabla | <span>Phone</span>: 00000</p>
      <p><span>Examen</span> : crane | <span>Secrétaire</span> : M.J</p>
      <p><span>Remarque :</span></p>
      <p>
      </p>
   </div>
   <div class="contenercommandes">
      <div style="display: none;" class="commandes">
         <ul>
            <li>
               <!--THIS IS THE LINK EVENT-->
               <a href="#" class="editer">
                  <img src="btn_edit.png" alt="editer">
               </a>
            </li>
         </ul>
      </div>
   </div>

</li>

【问题讨论】:

    标签: jquery dom jquery-selectors


    【解决方案1】:

    我相信这应该可行:

    myVar = $(this).closest('li:has("div.docheure")').find('.heure').text();
    

    编辑以回应@lonesomeday 的准确评论。 (我错过了嵌套的ul/li

    【讨论】:

    • 假设我们从a.editer 开始,closest 会找到错误的li
    • @lonesomeday:你说得对。我不敢相信我错过了嵌套的ul/li...叹息。我的眼睛,它们不再起作用了... =/(已编辑答案)。
    • @bahamut100,没问题! ......不过,这可能也值得感谢@lonesomeday。如果他没有发现我的愚蠢,我会留下错误的答案 =/
    【解决方案2】:

    这个怎么样?

    $(this)
     .closest('div.contenercommandes')
     .siblings('div.docheure')
     .find('span.heure')
     .text();
    

    Working jsFiddle.

    【讨论】:

    • 谢谢,这是有效的,但大卫托马斯的答案在更多情况下有效
    • @bahamut100 你可以投票给多个答案,你知道 ;-)
    【解决方案3】:
    $(this).closest('div').prevAll(':last').children('.heure').text();
    

    您必须使用 html()。喜欢:

    $('.docheure .heure').html()
    

    【讨论】:

      【解决方案4】:

      试试这个:

      $("a.editer").click(function () {
          var myVal = $(this)
              .closest('.contenercommandes')
              .prevAll('.docheure')
              .children('.heure')
              .text()
          ;
      });
      

      【讨论】:

        【解决方案5】:

        这就是你所追求的吗? http://jsfiddle.net/thewebdes/ZQasw/

        $('.user-create').click(function(){
          alert($('span.heure').html());
        });
        

        【讨论】:

        • 我假设文档中有多个“span.heure”标签,这就是他需要选择器帮助的原因。
        • @nickf 好的,是的。遍历的方法就是接下来要走的路!
        【解决方案6】:

        如果我正确理解您的问题,这应该会有所帮助。

        myVar = $(this).closest('div.docheure').find('.heure').text();
        

        【讨论】:

        • 从同时回答的数量来看 - 它们都不同 - 我猜我们对问题的解释都不同;-)
        • 并且@David Thomas 比我更准确地导航回 .docheure div - 赞!
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-28
        • 2018-09-28
        • 2021-03-27
        • 1970-01-01
        相关资源
        最近更新 更多