选择<a> element with jquery</a>的值/文字

时间:2015-01-07 10:51:55

标签: javascript jquery

我有这三个链接

<a id="ajaxed" href="#"  value="213">WTF</a>
<a id="ajaxed" href="#"  value="213">DUDE</a>
<a id="ajaxed" href="#"  value="213">SRSLY</a>

我想解析值attribute。我正在使用此脚本,但它始终返回null

jQuery.noConflict();
jQuery(document).ready(function ($) {
    $('#ajaxed').on('click',function() {
        var value = $(this).val();
        alert(value);
    });
});

此外,我尝试解析文本,它只适用于第一个<a>。 那个小提琴: http://jsfiddle.net/dzasusxp/18/ 我究竟做错了什么?对我来说似乎没问题......

7 个答案:

答案 0 :(得分:1)

页面中每个元素的ID必须是唯一的,并且.val()只应该应用于表单元素。要获得该值,您应该考虑.attr()方法。

要实现这一目标,您应该将id属性更改为class

&#13;
&#13;
$('.ajaxed').click(function(){
  var val = $(this).attr('value');
  alert(val);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="ajaxed" href="#"  value="213">WTF</a>
<a class="ajaxed" href="#"  value="213">DUDE</a>
<a class="ajaxed" href="#"  value="213">SRSLY</a>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

问题是,id属性在HTML中应始终是唯一的。

请参阅here

使用class代替id

请参阅FIDDLE

  

id属性指定HTML元素的唯一ID(该值在HTML文档中必须是唯一的。)

答案 2 :(得分:0)

ID必须是唯一的。

http://www.w3.org/TR/html401/struct/global.html#h-7.5.2

id = name [CS] 此属性为元素指定名称。该名称在文档中必须是唯一的。 class = cdata-list [CS] 此属性为元素分配类名称或类名称集。可以为任意数量的元素分配相同的类名或名称。多个类名必须用空格字符分隔。

答案 3 :(得分:0)

将您的ajaxed id更改为class,以下代码可以正常使用。

jQuery(document).ready(function ($) {
  $('.ajaxed').on('click',function() {
    var value = $(this).text();
     alert(value);
   });
});

http://jsfiddle.net/dzasusxp/20/

答案 4 :(得分:0)

$('#ajaxed')不会返回'a'标签元素的数组。它返回第一个匹配的元素。尝试提供不同的ID或相同的类名,如下所示

jQuery.noConflict();
jQuery(document).ready(function ($) {
$('.ajaxed').on('click',function() {
var value = $(this).text();
alert(value);
});
});
<a class="ajaxed" href="#"  value="213">WTF</a>
<a class="ajaxed" href="#"  value="213">DUDE</a>
<a class="ajaxed" href="#"  value="213">SRSLY</a>
   

查看ID和类ID/CSS

之间的区别

答案 5 :(得分:-1)

value标记中的属性a是无效的属性。方法.value()将焦点用于表单字段。如果您确实要在标记中使用此属性,请使用方法.attr("value")而不是.value()

答案 6 :(得分:-1)

尝试$el.txt()获取el.innerText