0

所以我使用 jQuery 提供的手风琴。
在手风琴内部,我放置了一些输入字段。
假设我有一个 3 行的手风琴(您可以展开和关闭)。
现在,当有人在其中一个输入字段中输入错误时,该行的标题将变为“此处错误!”之类的内容。管他呢。
jQuery 通过将 span 放入 h3 中,使这些可扩展行带有图标。
它看起来像这样(我这里只用一个自制的例子来解释语法!!):

<h3 id='some_id'>
    <span style='color:#FF0000;'>HELLO!</span>
    HEY!
</h3>

现在,当我想更改标题时,使用
$("h3[id='some_id']").html('HI THERE!');

$("h3[id='some_id']").text('HI THERE!');
不起作用,因为它们还会删除 h3 中的跨度。
必须留在那里以显示图标!

我也尝试过
$("h3[id='some_id']").children().html('HI THERE!');
,但这只会改变跨度......而且我希望跨度不会改变。
我怎样才能改变“嘿!” 进入“你好!” 只是,不删除跨度?

我希望这不是写得太复杂,我不知道如何更好地表达自己。
对不起 ;-)

编辑:这是一个小提琴,例如 jsfiddle.net/aLWPJ

4

1 回答 1

1

尝试这个:

$(document).ready(function() {
    $(".accordion").accordion({
        collapsible: true,
        heightStyle: "content",
        active: false,
    });

    var spanHTML = $("h3#ui-accordion-1-header-0 span").clone().wrap('<p>').parent().html();
    $("h3#ui-accordion-1-header-0").html(spanHTML+'HI THERE!');
});

小提琴:http: //jsfiddle.net/aLWPJ/1/

编辑:更改以回应评论(再次)。

于 2013-08-27T13:16:15.630 回答