Element.text не является функцией - PullRequest
1 голос
/ 14 ноября 2009

Я знаю, что об этом уже много раз спрашивали, и я уже просмотрел кучу постов, а также нашел свой ответ в поиске, но я просто не могу понять ... вот мой 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 ]

5 голосов
/ 14 ноября 2009

Должно быть:

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

иначе Element это строка.

0 голосов
/ 14 ноября 2009
var Element = "$('#" + domID[j] + "')";

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

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

назначает объект jQuery переменной Element

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...