得到这个锚标题文本jQuery

时间:2015-06-02 05:44:37

标签: javascript jquery html

我正在尝试将所有锚标题文本放在子div的

我的HTML

<div onClick="openList();">
  <div class="inc">
    <div class="iWrap">
        <a title="<div>blah1 blah1</div>"></a>
        <a title="<div>blah2 blah2</div>"></a>
        <a title="<div>blah3 blah3</div>"></a>
        <a title="<div>blah4 blah4</div>"></a>
    </div>
  </div>
</div>

<div onClick="openList();">
  <div class="inc">
    <div class="iWrap">
        <a title="<div>some text 1</div>"></a>
        <a title="<div>some text 2</div>"></a>
        <a title="<div>some text 3</div>"></a>
        <a title="<div>some text 4</div>"></a>
    </div>
  </div>
</div>

我的jQuery代码

function openList()
{
    var getTitletxt = $(this).find('a').attr("title");
    console.log(getTitletxt);
}

我在console.log中收到undefined。基本上我正在尝试在标题div中获取文本。

3 个答案:

答案 0 :(得分:2)

使用this传递当前对象,默认情况下,您无法使用绑定处理程序使用javascript内联处理程序。你的标题也是无效的,你可能需要在未包含在div中的文本。

Live Demo

<div onClick="openList(this);">

function openList(obj)
{
    var getTitletxt = $(obj).find('a').attr("title");
    console.log(getTitletxt );
}

更改

<a title="<div>some text 1</div>"</a>

<a title="some text 1"> anchor 1 </a>

对于自定义工具提示类,您可以创建css类,我从答案here获取它。

Live demo with tool tip custom style

a.ac[title]:hover:after 
{
}

答案 1 :(得分:2)

不要使用内联事件处理程序。您可以使用on来绑定事件。

<强> HTML

<div class="myClass">
<!--       ^^^^^^^^^ -->
    <div class="inc">
        <div class="iWrap"> <a title="<div>blah1 blah1</div>">a</a>
            <a title="<div>blah2 blah2</div>">b</a>
            <a title="<div>blah3 blah3</div>">c</a>
            <a title="<div>blah4 blah4</div>">d</a>
        </div>
    </div>
</div>

<div class="myClass">
<!--     ^^^^^^^^^ -->
    <div class="inc">
        <div class="iWrap"> <a title="<div>some text 1</div>">aa</a>
            <a title="<div>some text 2</div>">bb</a>
            <a title="<div>some text 3</div>">cc</a>
            <a title="<div>some text 4</div>">dd</a>
        </div>
    </div>
</div>

<强>的Javascript

$('.myClass').on('click', 'a', function() {
    alert($(this).attr('title'));
});

演示:http://jsfiddle.net/tusharj/zfboe9o1/

答案 2 :(得分:1)

首先关闭你的标签。

<a title="<div>some text 1</div>"> </a>

this作为参数传递给函数

  <div onClick="openList(this);">

   function openList($this)   
   {
     $($this).find('a').each(function(){  // To get all <a> tag title
        var getTitletxt = $(this).attr("title");
        console.log(getTitletxt );
     }); 
  }