0

私がxmlを持っているとしましょう.."xml2.xml"

<aurora>
<event> abc </event>
<event> abc </event>
<event> abc </event>
<event> 
<subeve> def </subeve>
<subeve> def </subeve>
<subeve> def </subeve>
</event>
<event> 
<subeve> def </subeve>
<subeve> def </subeve>
<subeve> def </subeve>
</event>
</aurora>

そして、jqueryコードがあります。

<script>
$(document).ready(function () {
    $.ajax({
        type: "GET",
        url: "xml2.xml",
        dataType: "xml",
        success: xmlParser
    });
});
function xmlParser(xml) {
    $(xml).find("event").each(function () {

        $(".slides").append('<b>1');

        $(this).find("subeve").each(function () {
        $(".slides").append('<i>2</i>');
        });
        $(".slides").append('</b>');

    });
}
</script>


出力は次のとおりです。<b>1111</b><i>222</i><b>1</b><i>222</i>

しかし、私は出力をしたいです..:<b>1111<i>222</i>1<i>222</i></b>

これどうやってするの..??

私の2番目の質問..私の最初の質問は本当にばかげていますか?:-<

4

2 に答える 2

3

マークアップの観点から考えていますが (<b>後で</b>)、DOM 要素を扱うようになると、マークアップではなくオブジェクトを扱うことになります。具体的には、 を実行すると、要素$(".slides").append("<b>");作成bされ、に追加されslidesます。<b>タグを「開く」ことはありません。その後、後で要素を$(".slides").append("<i>2</i>");作成し、それを要素内ではなく、要素のiにスライドに追加します。jQuery が で何をするのかわかりません。そうしないでください。:-)b.append("</b>")

要素を構築して、必要に応じて追加するか (i各 に要素を追加しb、 に追加bする.slides)、またはマークアップ文字列を構築し、完了時に に追加すること.slidesができます。

要素を構築する最初のオプションは、次のようになります。

function xmlParser(xml) {
  var slides = $(".slides");

  $(xml).find("event").each(function () {

    var b = $("<b>").text("1");

    $(this).find("subeve").each(function () {
      b.append('<i>2</i>');
    });

    slides.append(b);
  });
}

実例| ソース

2 番目のオプションであるマークアップの作成は、次のようになります。

function xmlParser(xml) {
  var markup = [];

  $(xml).find("event").each(function () {

    markup.push('<b>1');

    $(this).find("subeve").each(function () {
      markup.push('<i>2</i>');
    });

    markup.push('</b>');
  });

  $(".slides").append(markup.join(""));
}

実例| ソース

于 2012-12-29T08:47:16.460 に答える
-1

すべてを太字で表示したい場合は、CSS を使用します。

.slides{

    font-weight:bold;

} 

HTML タグを別の目的で使用する場合は、jQuery で生の HTML を作成するのではなく、何らかの形式のテンプレートを使用することを強くお勧めします。

于 2012-12-29T08:48:10.180 に答える