Написал несколько ответов на SO, но это мой первый вопрос:)
Немного фона ... Я играю с плагином easyAccordian для jQuery: http://www.madeincima.eu/samples/jquery/easyAccordion/. Каждый слайд (сделаниз <dd>
s) имеет динамическое содержимое.На одном конкретном слайде я хочу поменять все содержимое <dd>
, когда пользователь нажимает кнопку ...
Код следует (или вы можете посетить jsFiddle ):
HTML:
<dl>
<dt class="click">Slide heading</dt>
<dd class="specs"></dd>
<div style="display:none;">
<div id="defaultSpecs">
<div style="width:80%;margin-left:10%;text-align:center;margin-top:60px;">
wrsyik5s7khgjsdghf
</div>
</div>
</div>
</dl>
JS:
$("dt.click").click(defaultSpecs);
function defaultSpecs() {
//alert($("#defaultSpecs").html());
var defSpec = $("#defaultSpecs").html();
//alert($("#defaultSpecs").html());
$("dd.specs").html(defSpec);
//alert($("#defaultSpecs").html());
alert($("body").html());
}
Это работает очаровательно в Firefox и других версиях IE, однако при использовании в IE7 это не так...
HTML в пределах <dl>
и ниже <dd>
, по-видимому, разрушается, и затем (очевидно) функция завершается ошибкой при вызове во второй (или третий) раз ...
Я пропустил важный аспект тегов <dl>
или <dd>
?Или что-то не так с функцией jQuery .html()
?
Несколько вещей, на которые стоит обратить внимание:
Есть несколько <dd>
и <dt>
s висходный код, однако ошибка по-прежнему воспроизводится без них.
Я включил оповещения, чтобы вы могли видеть, что .html()
различных элементов возвращает в определенных точках ... не стесняйтесьраскомментируйте их и повозитесь:)
Любая помощь по этому вопросу будет принята с благодарностью:)