传递链接数量

时间:2012-10-25 12:28:35

标签: javascript jquery

我有一个带有此

的html.twig文件
{% set num= 1%}
{% for idea in ideas %}

    <div class="add">
        <a href="#"> Comentar </a>|<a href="#" rel="like{{num}}"> Tomado </a>|<a href="#">Valorar</a>
    </div>
</div>
{% set num= num +1 %}
{% endfor %}

所以依赖于我更喜欢​​的想法的数量,比如

<a rel="like1" href="#"> Tomado </a>
<a rel="like2" href="#"> Tomado </a>
<a rel="like3" href="#"> Tomado </a>

如果我想在jquery中单击,但我如何指示链接数,num变量的值

   $("a[rel='like']").click(function(){
            alert($("a[rel='like']").text());
    });

任何想法!

3 个答案:

答案 0 :(得分:2)

为此你可以试试这个jquery选择器jQuery('[attribute^="value"]')

像这样编码

 $("a[rel^='like']").click(function(){
            alert($(this).attr("rel"));
    });

答案 1 :(得分:2)

我假设你想要rel属性的值。 如果这是真的,你应该试试这个:http://jsfiddle.net/kakashi/Uqqpr/

我的解决方案使用attr方法获取rel属性的值。

<强>更新 看起来你想要rel属性中包含的数字,即当它是“like1”时你想要“1”,当它是“like2”时你想要“2”等等。 如果是这样,这个解决方案就是这样做的:

http://jsfiddle.net/kakashi/Uqqpr/1/

* 更新2 - 占多位“喜欢”*

http://jsfiddle.net/kakashi/Uqqpr/2/ 此版本使用正则表达式来捕获最后的数字。

答案 2 :(得分:1)

您可以像这样使用startsWith选择器:

$("a[rel^='like']").click(function(){
    var theNumber = this.rel.replace(/[^0-9]/g, ''); 
});

有可能,你甚至不需要解析你的rel属性中的数字(另外你应该使用数据属性):

$("a[rel^='like']").click(function(){
    var theNumber = $(this).index(); 
});

使用data属性的示例:

<a href="#" data-num="{{num}}">

$("a[rel^='like']").click(function(){
    var theNumber = $(this).data("num"); 
});    

Demo.