如何按类获取父div中的元素?

时间:2016-12-05 08:04:54

标签: jquery

我想抓住下面的Text to grab

<div class="article-box">                    
    <div>
        <a href="/someurl" class="article-text">Text to grab</a>
    </div>
    <br>
    <div>
        <a href="/anotherurl" class="q-author">The author</a>
    </div>
    <br>
    <ul class="share-buttons pull-left">
        <li>
            <a href="#" class="tw-share">Share on facebook</a>
        </li>
        <li>
            <a href="#" class="tw-share">Tweet it</a>
        </li>
    </ul>
</div>
<div class="article-box">
    //similar to above
</div> 

我的jquery是:

jQuery(document).ready(function() {
    jQuery(".tw-share").click(function() {
      var article = $(this).parent(".article-text" ); //<--Here is the Problem
      console.log('article is: ', article);
      var aurl= window.location.href; 
        window.location='https://twitter.com/intent/tweet?text=' + article + '&url='+aurl;

    });
}); 

但它失败了。我该如何解决?

2 个答案:

答案 0 :(得分:1)

您需要使用.closest()遍历公共父元素,即article-box,然后使用.find()定位article-text元素。需要使用Additionaly .text()来获取元素的文本。

var article = $(this).closest('.article-box').find(".article-text" ).text(); 

答案 1 :(得分:0)

jQuery(document).ready(function() {
    jQuery(".tw-share").click(function() {
      var article = $(this).parents(".article-box" ).find('.article-text'); 

      console.log('article is: ', article);
      var aurl= window.location.href; 
        window.location='https://twitter.com/intent/tweet?text=' + article + '&url='+aurl;

    });
});