试图获取被点击对象的属性

时间:2016-03-14 12:59:40

标签: javascript jquery

当我点击其链接时,我试图从对象中获取标头值。

例如,我试图获得价值" 2014_BUDGET"当我点击链接时。

我尝试过各种各样的变化。

  • 尝试获取.prop()而不是.attr
  • 尝试搜索.closest('td')
  • 尝试获取父attr

所有结尾都有'undefined'的提醒。

这是我的代码

<td headers="2014_BUDGET" class="MYCLASS"><a 
href="javascript: alert(  $(this).closest('td').attr('headers')  );">1</a></td>

<td headers="2014_BUDGET" class="MYCLASS"><a 
href="javascript: alert(  $(this).attr('headers')  );">1</a></td>

3 个答案:

答案 0 :(得分:5)

在href中,这指向全局window对象。

请改用onclick。

<td headers="2014_BUDGET" class="MYCLASS"><a href="#" 
  onclick="alert(this.parentNode.getAttribute('headers')); return false">1</a></td>

答案 1 :(得分:3)

$(document).ready(function(){
  $("a.anchor").on("click", function(e) {
    e.preventDefault();
    alert($(this).closest("td").attr("headers"));
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table>
  <tr>
<td headers="2014_BUDGET" class="MYCLASS"><a href="#" class="anchor">1</a></td>

<td headers="2015_BUDGET" class="MYCLASS"><a href="#" class="anchor">2</a></td>
    </tr>
  </table>

答案 2 :(得分:1)

试试这个;

<td headers="2014_BUDGET" class="MYCLASS"><a href="#" onclick="alert(this.parentNode.getAttribute('headers'))">1</a></td>

它与Gurvinder372的答案基本相同,但答案的目标是A标签,而不是TD标签。

1

修改

没关系,他更新了他的答案。忽略这个。