从jQuery列表的单击事件中获取某个字段的值



当前我有类似的东西

  <ul class="patient-class" id="patientSelection">
            <li>          
                <label for="plist">        
                    <div class="patient-details"><span class="pheading">Foo</span><span class="page"><a href="SomeLink">14 years</a></span>
                    </div>
                </label>
            </li>
  </ul>

现在我有一个jQuery函数,告诉我单击哪个li项目

<script>
        $("#patientSelection li").click(function() {
          alert('Clicked list.'+$(this).value);
         });
</script>

现在我的问题是如何提醒到14年的链接。是SomeLink。本质上,我只想捕获链接的文本?

您可以使用.find()获取锚元素,您可以获得.text()

$("#patientSelection li").click(function() {
  console.log($(this).find('.page a').text());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="patient-class" id="patientSelection">
    <li>
        <label for="plist">        
    		<div class="patient-details">
      			<span class="pheading">Foo</span>
        		<span class="page"><a href="SomeLink">14 years</a></span>
          </div>
         </label>
    </li>
</ul>

使用.find()查找要单击的li's元素的后代:

$(this).find( 'a' ).text();

最新更新