1

JQuery サイクル プラグインを利用しています。

プラグインは、画像間を交換するための番号付きリンクを含む画像スライダーを生成します。番号付きリンクを独自の HTML に変更したい (例: '1' を 'My string' に変更する) ため、次のように作成しました。

$('#nav a').html(function(i, html) {
    return $.trim(html) == '1' ? '<h2>Lorem</h2>' : html;
    return $.trim(html) == '2' ? '<h2>Dolar Sit</h2>' : html;
    return $.trim(html) == '3' ? '<h2>Amet</h2>' : html;
    return $.trim(html) == '4' ? '<h2>Ipsum</h2>' : html;

});

これは Fire Fox では正常に機能しますが、Chrome では機能しません。これは、番号付きのリンクが元の DOM の一部ではなく、Chrome が元の DOM を見つけて変更するのが困難なためだと思います。

これを適切に行う方法を知っている人はいますか?

編集:

クロムで見られるのは次のとおりです。

1 2 3 4 5

私が Fire Fox で目にするもの (そして私が達成したいこと) は次のとおりです。

Lorem Dolar シット アメット イプサム

4

1 に答える 1

0

最初returnsreturn. それがJSエラーを引き起こしています。

目的を達成するための便利な方法は次のとおりです。

LIVE DEMO

$(function(){ // DOM READY

    var definedText = {
        1 : "<h2>Lorem</h2>",
        2 : "<h2>Dolar Sit</h2>",
        3 : "<h2>Amet</h2>",
        4 : "<h2>Ipsum</h2>"
    };

    $('#nav a').html(function(i, html) {

      var trHTML = $.trim(html);
      return definedText[trHTML] || html;

    });

});

definedText は、トリミングされた HTML を比較する単なるオブジェクトです。
一致するものが見つからない場合は、単に既存の HTML を返します。

于 2013-03-26T01:26:47.280 に答える