JQuery: изменить текст Div - PullRequest
0 голосов
/ 03 мая 2011

Я хочу обновить текст тега div; Сначала я получаю владельца этого div, используя:

var yTickLabels = $("#flotDiv").find(".yAxis >div");

с помощью firebug я вижу, что в [yTickLabels] получены два дочерних узла div, затем я использую следующие коды для обновления текста каждого дочернего узла div:

for(var i=0; i<yTickLabels.length;i++){
    yTickLabels[i].update("new text");
}

однако вышеприведенные коды завершились ошибкой «обновление не является функцией»; затем я попытался использовать html () или text () для извлечения текущего текста, но все равно не получилось.

в выходном html эти элементы отображаются следующим образом:

<div class="yAxis y1Axis" style="color:rgb(0, 0, 0)">
    <div class="tickLabel" style="position:absolute;text-align:right;top:115px;right:836px;width:0px">
       <b>Pavement-Type</b>
    </div>
    <div class="tickLabel" style="position:absolute;text-align:right;top:178px;right:836px;width:0px">
       <b>PCC</b>
    </div>
 </div>

каким способом я должен использовать для обновления текста каждого [div] классом [yAxis]? Спасибо всем!

Ответы [ 4 ]

3 голосов
/ 03 мая 2011

Сообщение об ошибке правильное, обновление не является функцией.

Вместо этого:

for(var i=0; i<yTickLabels.length;i++){
    yTickLabels[i].update("new text");
}

используйте jquery, например:

yTickLabels.each(function(){
  $(this).text("new text");
});
1 голос
/ 03 мая 2011

JQuery предоставляет каждую функцию: http://api.jquery.com/each/

попробуй:

$ ("# flotDiv"). Find (". YAxis> div"). Each (function (index) { $ (this) .update ("новый текст"); });

1 голос
/ 03 мая 2011

Это потому, что update () на самом деле не является функцией. Попробуйте обновить его до этого

for(var i=0; i<yTickLabels.length;i++){
    $(yTickLabels[i]).text("new text");
}
0 голосов
/ 03 мая 2011

Когда вы перебираете массив jQuery таким образом, вы возвращаете фактический элемент DOM, а не элемент jQuery, поэтому он не имеет доступа к функциям jQuery. Вам нужно использовать .each(), чтобы сохранить его локальным для jQuery, или переоценить элемент, поместив его в $(element).

http://api.jquery.com/jQuery.each/

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