2009-08-18 16 views
0

私はローカライズを検討しているjavascriptページを持っています。私は翻訳を処理しましたが、難しかったのは、設定するテキストを処理する最良の方法です。 明らかに、ボタンの場合、タイトル/値を設定する必要があります。おそらくinnerHTML/innerTEXTをスパンし、画像をaltにします。 JQueryに、nodeTypeに基づいてaltまたはvalueまたはinnerHTMLを設定するジェネリック関数を呼び出すことができる関数があるかどうかは疑問でした。jQueryを使用した属性のローカライゼーション

基本的にこれを行うための良い方法:

if(this.nodeName == "input") 
{ 
    this.value = "newButtonText" 
} 
if (this.nodeName == "SPAN") 
{ 
    this.innerHTML = "newSpanText"; 
} 

任意のヘルプは便利だろう。

ジョン

答えて

1

おかげでまあ、私は1つがあるとは思わないが、あなたはそれを自分で実装することができます。次のように

(function ($) { 
    $.fn.caption = function (newText) { 
     return this.each(function() { 
      var $this = $(this); 
      if ($this.is(':submit')) { 
       $this.val(newText); 
      } else if ($this.is('img') { 
       $this.attr('alt', newText); 
      } else { 
       // A simple dome element like span, div, etc. 
       $this.text(newText);     
      } 
     }); 
    } 
})(jQuery); 

使い方は次のとおりです。プラグインを書くとき

$('#coolImg').caption("New caption in English"); 

(function ($) {})(jQuery)部分は、標準的なjqueryのイディオムです。詳細についてはjquery docs for plugin authoringを確認してください。また、ブラウザの不一致を避けるために、jquery(text()html()のようなメソッドの形式で提供される)を使用することをお勧めします。

P.S. body *の解決策は、少し大きめの文書の場合は非常に遅くなります。

関連する問題