我正在尝试获取ID号,以便稍后我可以在jQuery POST中使用它。 ID号位于名为data.results[i].id
的变量中。如何在下面的jQuery POST中获取ID号。
for (var i in data.results)
{
document.getElementById("list-canvas").innerHTML += "<div id='list_element" +
data.results[i].id + "' value=" + data.results[i].id +
" class='list_element_class'>" +
"<div id='list_image'>" +
"<div id='actual_image'>" + data.results[i].feature_image +
"</div>" +
"</div>" +
"</div>";
$('.list_element_class').on('click', this.id, function(){
$.post('sql_p.php', {id : this.value }, function(data)
{
$("#left_2").hide();$("#left_3").show();
document.getElementById("left_3").innerHTML = data;
});
});
}
&#34; this.id&#34;没有错。因为它确实包含给定的元素ID,但是&#34; this.value&#34;回归未定义。
答案 0 :(得分:1)
div
没有value
。只有表单元素才有。
您可以使用value
属性,但必须使用getAttribute
(jQuery中为.attr('value')
)
答案 1 :(得分:0)
第一个&#34;这个&#34;指代代码运行的元素。 第二个是指$(&#39; .list_element_class&#39;)
的元素试试这个:
var element = this;
$('.list_element_class').on('click', element.id, function(){
$.post('sql_p.php', {id : element.value }, function(data)
...
答案 2 :(得分:0)
这最终起了作用:
$('.list_element_class').on('click', this.id, function()
{
var tid = $(this).attr("value");
$.post('sql_p.php', {id : tid }, function(data)
{
$("#left_2").hide();$("#left_3").show();
document.getElementById("left_3").innerHTML = data;
});
});