2011-06-30 44 views
0

选择哪一类我有一个链接的列表:任何链接我怎么能知道通过jQuery和JS

<li class="link-1"><a href="#">One</a></li> 
<li class="link-2"><a href="#">Two</a></li> 
<li class="link-3"><a href="#">Three</a></li> 
.. 

用户点击,然后使用jQuery我想要显示链接的内容的财产以后..像:

$(".link-??? a").click(function() { 
    alert($(".link-??? a").html()); 
}) 

这样的事情。我不打算创建X函数(如链接的数量),那么我该怎么做?我应该在somtehing人换掉了??? ..

回答

2

可以做到:

$('li[class^="link"] a').click(... 

但是这只能如果li只有一个类或工作,如果link-X类是在列表中的第一个。

可以使用$(this)来引用a元素的处理函数中:

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

好多将给予li元件的共用类:

<li class="link"><a href="#">One</a></li> 
<li class="link"><a href="#">Two</a></li> 
<li class="link"><a href="#">Three</a></li> 

$('.link a').click(...会更可靠。

+0

我从来没有听说过'$(本)'(以及..我学习只是一天:-))它会解决问题(与普通的课程)。 – Luis

+0

@Luis:也许你应该阅读一个教程:http://docs.jquery.com/Tutorials:Getting_Started_with_jQuery基本上,在事件处理程序中,this指的是事件发起的元素(在这种情况下是链接)。您还可以将DOM元素传递给jQuery,而不仅仅是选择器,这就是'$(this)'的意思。 –

+0

是的,现在我明白这个选择器的作用了。谢谢。 – Luis

1

尝试..

$(".link-??? a").click(function() { 
    alert(this.innerHTML); 
}) 

里面的单击事件,this应该是指被点击的元素。

你也可以做..

alert($(this).html()); 

..但第一种方式比较简单,而且速度更快。

1

给每个元素相同的类。然后在你的JavaScript引用这个函数内。 看看下面的链接看到一个工作示例

http://jsfiddle.net/kprgr/2/

<li class="link"><a href="#">One</a></li> 
<li class="link"><a href="#">Two</a></li> 
<li class="link"><a href="#">Three</a></li> 

$(".link").click(function() { 
    alert($(this).find("a").html()); 
});