Ответ 1
Поместите заголовок в свой собственный диапазон.
<span id="dialog_title_span">'+dialog_title+'</span>
$('#dialog_title_span').text("new dialog title");
'<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, который используется для открытия диалогового окна.
Я попробовал метод replaceWith со строкой с новым заголовком диалога... но это показывает NaN для заголовка и диапазона, хотя видимые могут быть нажаты (отключены события?)
Как изменить текст, не теряя пропуски и возможность его щелчка.
Спасибо заранее.
Поместите заголовок в свой собственный диапазон.
<span id="dialog_title_span">'+dialog_title+'</span>
$('#dialog_title_span').text("new dialog title");
Я думаю, что это будет делать:
$('#'+div_id+' .widget-head > span').text("new dialog title");
лучший и простой способ - поместить заголовок внутри пролета и заменить его.
'<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");