0

ここでの私の質問の結果: Javascript を使用してサイト プロパティを渡す 以下のコードを使用して、データ ターゲットがページ上のいくつかの要素クラスと等しい場合に、ある div から別の div にテキストを渡します。

$('#sp').children().each(function() {
    $($(this).data().target).html($(this).html());
});

ただし、テキストをhtml要素に渡す代わりに、ページにデータターゲット値と等しいテキストを入力できれば、そのテキストをデータターゲットのテキストに置き換えることができるかどうか疑問に思っています。例えば:

<div id="sp" style="display:none;">
<span data-target=".busFullName">My Great Company</span>
</div>

<!-- On some page -->
<p>sp.busFullName has been around since 1920</p>

<!-- Rendered text would be -->
<p>My Great Company has been around since 1920</p>

このようにして、作成したプロパティを使用するたびに追加のタグを作成する必要がなくなります。

任意の洞察をいただければ幸いです。ありがとう。

4

1 に答える 1

1

JavaScriptがクライアント環境で利用できない場合、コードが意味的に無意味になり、やや理解できなくなるため、このアプローチを採用するべきではないと思います。ここで言われていることは、私それについて行った方法です:

(function(){
    // Containing element's ID
    var boxID = "#sp";
    // All data-target elements within containing element
    $("[data-target]", boxID).html(function(a,b){
        // Pattern of #id.targetValue
        var pattern = boxID.slice(1) + $(this).data("target");
        // Find everything in body that contains this pattern
        $(":contains("+pattern+")", "body").html(function(c,d){
            // Replace instances of pattern in html with html
            return d.replace(pattern, b);
        });
    });
})();​

デモ: http: //jsfiddle.net/rpHB2/3/

于 2012-11-05T03:38:48.910 に答える