jQuery:Accordion - 更改标题文本但不更改图标

时间:2013-08-27 13:12:17

标签: jquery jquery-ui-accordion

所以我使用jQuery提供的手风琴 在手风琴里面,我放了一些输入字段 让我说我有一个3排手风琴(你可以扩展和关闭) 现在当有人在其中一个输入字段中输入错误时,该行的标题将变为“错误在这里”!或者其他什么 jQuery通过在h3中放入一个span来使这些可扩展的行带有图标 它看起来像这样(我在这里只用一个自制的例子来解释语法!!):

<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!');
但这只会改变跨度....我希望跨度不会改变 我怎么能改变'嘿!'进入'HI THERE!'只是,不删除跨度?

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

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

1 个答案:

答案 0 :(得分: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/

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