如何使用'从这个'中获取DIV元素的价值?

时间:2014-11-27 05:38:00

标签: jquery

我正在尝试获取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;回归未定义。

3 个答案:

答案 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;
              });
           });