当我的ajax响应成功时,我有以下代码:
success : function(response) {
$('#texto').append(response);
}
这是我追加的回复html:
<body>
{% load custom_filters %}
{% for modulo in modulos %}
<div align="left" class="result" value="{{ modulo.nome }}">
{{ modulo.nome }} {{ modulo.versao }}.{{ modulo.chave_revisao|soma_um|mascara_versao }}
</div>
{% endfor %}
显示div,但是当我要使用它们的值时,我会得到一个空字符串。这种比较是错误的。
$('.result').each(function(){
for (i=0; i<=vetBuscar.length;i++){
if($(this).val() == vetBuscar[i]){
return true;
} else {
vetBuscar.pop(i)
}
}
任何人都知道如何获得这个价值?
答案 0 :(得分:0)
尝试:
$(this).attr("value")
而不是:
$(this).val()
通常div没有value
属性,.val()
方法适用于(表单)元素。
或者您可以使用html5 data-
属性并使用:
<div align="left" class="result" data-value="{{ modulo.nome }}">
然后:
$(this).attr("data-value")
答案 1 :(得分:0)
我认为问题可能是当你的页面加载时,你正在寻找的元素还没有被加载,所以你的选择器还没有绑定任何东西。当使用javascript加载html时,这实际上是一个常见问题。
查看jQuery .on()事件处理程序,我认为它可能正是您正在寻找的内容: