如何获得这个父值?

时间:2011-02-15 12:23:39

标签: jquery dom jquery-selectors

我想通过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>

6 个答案:

答案 0 :(得分:2)

我相信这应该有效:

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

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

答案 1 :(得分:0)

这个怎么样?

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

Working jsFiddle

答案 2 :(得分:0)

$(this).closest('div').prevAll(':last').children('.heure').text();

相反,你必须使用,html()。像:

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

答案 3 :(得分:0)

试试这个:

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

答案 4 :(得分:0)

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

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

答案 5 :(得分:0)

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

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