2009-11-14 6 views
1

Я знаю, что это было задано много раз раньше, и я уже прошел через кучу сообщений, а также искал для ответа, но я просто не могу понять это ... вот мой PHPElement.text не является функцией

$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); 
       } 
      } 
     } 
    } 
}); 

Я проверил это с помощью поджигатель и я знаю, что элемент равен $ («# Linea») и данные [х] .inlineContent содержит правильные данные, но я получаю то же самое:

Element.text не является функцией

сообщение ...

ответ

5

Должно быть:

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

еще Element является строкой.

+0

благодаря не могу поверить, что я не видел, что ... – Tsundoku

+0

@Proxify: Это типичный разработчика «Скрытое». Иногда вам просто нужно отскакивать от кого-то или в SO: P –

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

присваивает строку переменному элементу, который не имеет текстовой функции. Также синтаксическая ошибка. Спасибо @ o.k.w за это.

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

присваивает объект Jquery к переменной Element

Смежные вопросы