[解決済み] jQuery: .attr();メソッドで2つの属性を追加する
質問
EDITです。
を使用することを知りました。
_blank
を使用すると、モバイルブラウザで新しいウィンドウやタブを開くことができないことを知りました。
例えば、新しいウィンドウ/タブを開く必要がある場合。
-
この作品 は、すべてのブラウザで、モバイルブラウザでも動作します。
target="_blank"
. -
これは動作しません モバイルブラウザでは動作しませんが は動作します。 は動作しますが、デスクトップ・ブラウザーでは
target="new"
.
--
これは動作しているものの、もっと良い方法があるのか、私が得た方法が正しいのか、唯一の方法なのか、よくわかりません。
基本的に、私がやっていることは、すべての
target="_new"
または
target="_blank"
属性値を
target="nw"
この方法では、複数のウィンドウでユーザーを圧倒しないために、新しいウィンドウは1つだけ開かれ、その中で他のすべての新しいウィンドウが開かれます。
私はまた、" を追加しています。
新しいウィンドウで開く
"です。
title=""
属性で指定します。
ということで、私が作った解決策はこれです。
$("a[target='_blank'], a[target='_new']").attr('target','nw').attr('title','Opens in a new window');
2つの
.attr();
メソッドに注目してください。
これは、要素に2つの属性を追加する正しい方法ですか?
私は試した
.attr('target','nw','title','Opens in a new window')
を試してみましたが、うまくいきませんでした。
私が尋ねる理由は、DYR(Don't Repeat Yourself)の原則のためで、私が持っているコードを改善できれば素晴らしいですが、そうでなければ、それはそれであります。
ありがとうございます。
どのように解決するのですか?
動作するはずです。
.attr({
target:"nw",
title:"Opens in a new window",
"data-value":"internal link" // attributes which contain dash(-) should be covered in quotes.
});
注意 :
" 複数の属性を設定する場合、属性名を囲む引用符は省略可能です。
警告 : class' 属性を設定するときは、常に引用符を使用しなければなりません!
のjQueryドキュメント(2016年9月)より。 .attr :
document.createElement() で作成された input や button 要素の type 属性を変更しようとすると、Internet Explorer 8 以前では例外が発生します。
編集
:
今後の参考のために...
に
を1つ取得する
属性を取得するには、次のようにします。
var strAttribute = $(".something").attr("title");
への を設定します。 属性を設定するには
$(".something").attr("title","Test");
への を複数設定する 属性を設定するには、すべてを { ... } で囲む必要があります。}
$(".something").attr( { title:"Test", alt:"Test2" } );
編集 - チェックボックスから 'checked' 属性を取得/設定しようとしている場合...
を使用する必要があります。
prop()
jQuery 1.6+の時点では
.prop() メソッドはプロパティの値を明示的に取得する方法を提供し、.attr() は属性を取得します。
...checked 属性について覚えておくべき最も重要な概念は、checked プロパティに対応しないことです。この属性は実際には defaultChecked プロパティに対応し、チェックボックスの初期値を設定するためにのみ使用されるべきものです。 checked 属性の値はチェックボックスの状態によって変化しませんが、checked プロパティは変化します。
そのため チェックされた状態を取得する を使用する必要があります。
$('#checkbox1').prop('checked'); // Returns true/false
または チェックボックスをチェック済みまたはチェック無しとする を使うべきでしょう。
$('#checkbox1').prop('checked', true); // To check it
$('#checkbox1').prop('checked', false); // To uncheck it
関連
-
[解決済み] jQueryを使って要素のIDを取得するにはどうすればよいですか?
-
[解決済み] どのラジオボタンが選択されているかをjQueryで知るにはどうしたらよいですか?
-
[解決済み] jQueryでJavaScriptオブジェクトから選択する際に、オプションを追加する最も良い方法は何ですか?
-
[解決済み] jQueryを使用してハイパーリンクのhref属性を変更する方法
-
[解決済み] 選択オプション「selected」を値で設定する
-
[解決済み] jQuery 複数のイベントで同じ関数を起動する
-
[解決済み] Adding options to a <select> using jQuery?
-
[解決済み] jQuery UI DatePicker - 日付フォーマットの変更
-
[解決済み] jQueryを使用してHTML要素を作成する最も効率的な方法は何ですか?
-
[解決済み] jQueryで<input type="text">のonchangeを実装するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Microsoft JSONの日付はどのようにフォーマットするのですか?
-
[解決済み] jQuery select onChangeの値を取得する。
-
[解決済み] JQueryでラジオボタンがチェックされているかどうかを調べる?
-
[解決済み] jQueryでPUT/DELETEリクエストを送信する方法は?
-
[解決済み] 既存の非順序型リストにリストアイテムを追加する方法
-
[解決済み] クリックボタンでクリップボードにコピー
-
[解決済み] jQueryを使用してCSSのdisplay noneまたはblockプロパティを変更するにはどうすればよいですか?
-
[解決済み] jQuery: テキストで要素を検索する
-
[解決済み] jQueryのn番目の要素を取得する方法
-
[解決済み】jQueryのテンプレートエンジン【終了しました