我有这三个链接
<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/
我究竟做错了什么?对我来说似乎没问题......
答案 0 :(得分:1)
页面中每个元素的ID必须是唯一的,并且.val()
只应该应用于表单元素。要获得该值,您应该考虑.attr()
方法。
要实现这一目标,您应该将id
属性更改为class
。
$('.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;
答案 1 :(得分:0)
答案 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);
});
});
答案 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