Element.text不是一个函数

时间:2009-11-14 04:35:23

标签: php jquery

我知道之前已经有很多次被问过了,我已经通过了一堆帖子以及谷歌搜索答案,但我无法弄明白......这是我的PHP

$connect = mysql_connect("localhost", $usuario, $password) or die(mysql_error());
$select_db = mysql_select_db($dbname) or die(mysql_error());

  //query the database
  $query = mysql_query("SELECT css_id, body FROM content");

    //loop through and return results
  for ($x = 0, $numrows = mysql_num_rows($query); $x < $numrows; $x++) {
    $row = mysql_fetch_assoc($query);
    $body[$x] = array("cssID" => $row["css_id"], "inlineContent" => $row["body"]);      
  }

  //echo JSON to page
  $response = $_GET["jsoncallback"] . "(" . json_encode($body) . ")";
  echo $response; 

我的HTML:

<body>
<h2 class="inlineEdit" id="titulo">Editando</h2>
<div id="response"></div>
<ul>
  <li class="inlineEdit" id="linea">Lorem Ipsum....</li>
</ul>
</body>

最后我的jQuery:

$(function () {
    var domID = [];
    $(".inlineEdit").each(function(){ 
        domID.push(this.id);
    });

    $.getJSON("assets/php/load.php?jsoncallback=?", checkArray);

    function checkArray(data){
        for (var x = 0; x < data.length; x++){//loop through all items in the JSON array
            for(var j = 0; j < domID.length; j++){//loop through the DOM id's array
                if(domID[j] === data[x].cssID){
                    var Element = "$('#" + domID[j] + "')";
                    Element.text(data[x].inlineContent);
                }
            }
        }
    }
});

我用firebug检查了这个,我确定Element等于$('#linea')和data [x] .inlineContent包含正确的数据,但我一直都这样:

  

Element.text不是函数

...消息

2 个答案:

答案 0 :(得分:5)

应该是:

var Element = $("#" + domID[j]);

else Element是一个字符串。

答案 1 :(得分:0)

var Element = "$('#" + domID[j] + "')";

将字符串分配给没有文本函数的变量Element。还有一个语法错误。谢谢@ o.k.w指出这一点。

var Element = $('#' + domID[j] );

将jQuery对象分配给变量Element