Я имел, что-то вроде озирается, и испытываю некоторые затруднения при решении крошечной проблемы, которую я имею.
У меня в основном есть строка HTML, я преобразовываю это в Объект DOM JQuery так, чтобы я мог легко удалить все элементы, которые имеют определенный класс с помощью .remove JQuery (). Т.е.
var radHtml = editor.get_html();
var jqDom = $(radHtml);
$(".thickbox", jqDom).remove();
$(".thickboxcontent", jqDom).remove();
editor.set_html(this.innerHTML);
Примечание: HTML получен из содержания в текстовом редакторе RADEditor, таким образом, нет никаких родительских HTML-тэгов, так может посмотреть следующим образом:
<p>This is a header</p>
<p>this is some content followed by a table </p>
<a href="#TB_inline?height=350&width=400&inlineId=myOnPageContent0" class="thickbox">Test Thickbox</a>
<div id="myOnPageContent0" class="thickboxcontent">
<table class="modal">
<thead>
</thead>
<tbody>
<tr>
<td>item</td>
<td>result</td>
</tr>
<tr>
<td>item 1</td>
<td>1</td>
</tr>
<tr>
<td>item 2</td>
<td>2</td>
</tr>
<tr>
<td>item 3</td>
<td>3</td>
</tr>
</tbody>
</table>
</div>
Вот то, что jqDom.html () возвращает из HTML выше:
"This is a header"
Я задавался вопросом, был ли простой способ сделать, это - имеет некоторый HTML и удаляет все элементы (в этом случае отделения), которые имеют определенный класс (но отъезд их содержания). JQuery не имеет к используемому, но я хотел бы.
Управление Объектом DOM прекрасно - это получает полный Объект DOM в целом как строку, с которой у меня есть проблема.
Любая справка очень ценилась бы.Спасибо.
var radHtml = editor.get_html();
var jqDom = $(radHtml);
jqDom.wrap('div'); //dont remember if thats ok or u need to asign it in the jqDom again
$(".thickbox", jqDom).remove();
$(".thickboxcontent", jqDom).remove();
editor.set_html(jqDom.html());
Может это поможет
Если вы хотите, чтобы html каждого совпадающего элемента отображался в вашем селекторе, попробуйте создать map
:
var allHtmls = jqDom.find('.thickbox').map(function(){
return this.innerHTML;
});
Кроме того, похоже, вы можете использовать unwrap
, который был добавлен в jQuery 1.4+ ( http://api.jquery.com/unwrap/ )
jqDom.find ('. Thickbox'). children (). unwrap ();