jquery изменить текст div - PullRequest
36 голосов
/ 09 июля 2009
'<div id="'+div_id+'" class="widget" style="height:60px;width:110px">\n\
            <div class="widget-head ui-widget-header" style="cursor:move;height:20px;width:130px">'+
         '<span id="'+span_id+'" style="float:right; cursor:pointer" class="dialog_link ui-icon ui-icon-newwin ui-icon-pencil"></span>'  +
          dialog_title+'</div></div>

У меня есть div, созданный с использованием приведенной выше строки. После некоторой обработки ... Я должен изменить dialog_title в приведенном выше div. Я пытаюсь сделать это с помощью следующего кода

$('#'+div_id+' .widget-head').text("new dialog title");

Хотя это меняет заголовок диалога ... он удаляет элемент span, который используется для открытия диалогового окна.

Я попытался заменить метод с помощью строки с новым заголовком диалогового окна ... но показывает NaN для заголовка и промежуток, хотя видимый нельзя щелкнуть (события отключены?)

Как изменить текст, не теряя интервал и не нажимая на него.

Заранее спасибо.

Ответы [ 3 ]

76 голосов
/ 09 июля 2009

Поместите заголовок в отдельный диапазон.

<span id="dialog_title_span">'+dialog_title+'</span>
$('#dialog_title_span').text("new dialog title");
4 голосов
/ 09 июля 2009

Я думаю, что это будет делать:

$('#'+div_id+' .widget-head > span').text("new dialog title");
2 голосов
/ 09 июля 2009

Лучший и простой способ - поместить заголовок в промежуток и затем заменить.

'<div id="'+div_id+'" class="widget" style="height:60px;width:110px">\n\
        <div class="widget-head ui-widget-header" 
                style="cursor:move;height:20px;width:130px">'+
     '<span id="'+span_id+'" style="float:right; cursor:pointer" 
            class="dialog_link ui-icon ui-icon-newwin ui-icon-pencil"></span>' +
      '<span id="spTitle">'+
      dialog_title+ '</span>'
 '</div></div>

теперь вы можете просто использовать это:

$('#'+div_id+' .widget-head sp#spTitle').text("new dialog title");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...