web-dev-qa-db-ja.com

jQueryを使って要素のtitle属性を変更する方法

フォーム入力要素があり、そのtitle属性を変更したい。これは簡単なことである必要がありますが、どういうわけか私はこれを行う方法を見つけることができません。これはどのように行われていますか、またどのようにしてこれを実行するかを検索する必要がありますか。

216
Brian

コードを書く前に、属性とプロパティの違いについて説明しましょう。属性はあなたの中の要素に適用する設定ですHTMLマークアップ;次にブラウザはマークアップを解析し、propertiesを含むさまざまな型のDOMオブジェクトを作成して、属性の値で初期化します。単純なHTMLElementなどのDOMオブジェクトでは、attributesコレクションではなく、propertiesコレクションを常に使用することをお勧めします。

現在のベストプラクティスは、属性がカスタムであるか、それを補完する同等のプロパティがない場合を除き、属性の使用を避けることです。 titleは確かに多くのHTMLElement上で読み書きプロパティとして存在するので、それを利用するべきです。

属性とプロパティの違い ここ または ここ についてもっと読むことができます。

これを念頭において、そのtitle...を操作しましょう。

要素のtitleプロパティを取得または設定しますwithout jQuery

titleはパブリックプロパティなので、プレーンJavaScriptを使用してそれをサポートする任意のDOM要素に設定できます。

document.getElementById('yourElementId').title = 'your new title';

検索はほぼ同じです。ここで特別な何もない:

var elementTitle = document.getElementById('yourElementId').title;

あなたが最適化の方法であれば、これがタイトル変更の最も早い方法になるでしょう。

JQueryを使って要素のtitlepropertyを取得または設定する(v1.6 +)

jQueryは、プロパティを取得および設定するためにv1.6で新しいメソッドを導入しました。要素にtitleプロパティを設定するには、次のようにします。

$('#yourElementId').prop('title', 'your new title');

タイトルを取得したい場合は、2番目のパラメータを省略して戻り値を取得します。

var elementTitle = $('#yourElementId').prop('title');

JQueryの prop() APIドキュメント を調べてください。

あなたが本当にプロパティを使用したくない場合、またはv1.6より前のバージョンのjQueryを使用している場合は、次のように読む必要があります。

JQueryで要素のtitleattributeを取得または設定します(バージョン<1.6)。

以下のコードでtitleattributeを変更できます。

$('#yourElementId').attr('title', 'your new title');

それともそれを取得する:

var elementTitle = $('#yourElementId').attr('title');

JQueryの attr() APIドキュメント を調べてください。

427
Cᴏʀʏ

Jqueryのuiモーダルダイアログでは、この構文を使う必要があります。

$( "#my_dialog" ).dialog( "option", "title", "my new title" );
30
Igor L.

私は信じている

$("#myElement").attr("title", "new title value")

または

$("#myElement").prop("title", "new title value")

トリックをする必要があります...

フォーマットは嫌いですが、 jQuery Docs にすべてのコア関数があると思います。

16
womp

もう1つの選択肢は、jQueryオブジェクトからDOM要素を取得し、それに標準のDOMアクセサを使用することです。

$("#myElement")[0].title = "new title value";

他の人が述べたように、 "jQueryのやり方"はattr()メソッドを使うことです。 attr() こちら のAPIドキュメントを参照してください。

7
Greg Campbell

divを作成し、それにtitleを追加しようとしている場合。

やってみる

var myDiv= document.createElement("div");
myDiv.setAttribute('title','mytitle');
2
R Singh
jqueryTitle({
    title: 'New Title'
});

最初のタイトルの場合:

jqueryTitle('destroy');

https://github.com/ertaserdi/jQuery-Title

2
Erdi Ertaş