2013-05-20 125 views
4
<a href="?at=privat" at="privat" class="Privat">Privat</a> 

我需要一个Jquery才能从上面的链接获得privat。 在这里我试过了。从jQuery中的标记获取价值

$(".Privat").click(function(e) { 
    e.preventDefault(); 


    alert($(this).val()); 
}); 

但它没有返回任何值? 我如何获得价值?

回答

9

<a>标签创建一个锚,它不会有一个值(一般只用于创建输入做标记)。如果您需要其某个属性的值,则可以使用.attr()函数。

例如:

alert($(this).attr('at')); // alerts "privat" 

如果你想它的文本(<a></a>标签之间的内容)的值,可以使用.text()功能:

alert($(this).text()); // alerts "Privat" 

如果你的HTML有点不同,并且您的标签包含其他HTML,而不仅仅是文本,如下所示:

<a href="?at=privat" at="privat" class="Privat"><span>Privat</span></a> 

然后你可以使用.html()函数来做到这一点(它会返回<span>Privat</span>)。 .text()仍然会返回“Privat”,即使它被包裹在一个范围内。

+0

感谢,并会尝试.... – Arun

1

您在许多地方都有私人空间,但您可能想要$(this).html(),它会返回标记的内容。

1

.val()方法主要用于获得形式元素如inputselecttextarea的值。试试这个用于获取链接文本:

alert($(this).text()); 

FIDDLE DEMO

2

获得一个属性的值,应使用相应的功能:

$(this).attr('at'); 
2

试试这个:

alert($(this).attr('at'));