値の代わりに、使用されているIDまたは名前の名前を取得するにはどうすればよいですか。 このテキストボックスの値は "Some text"であることは明らかです。しかし、私が欲しいのは、今使用されているIDと名前の名前です。 もっと明確にするには...私は "thisid"または"> 値の代わりに、使用されているIDまたは名前の名前を取得するにはどうすればよいですか。 このテキストボックスの値は "Some text"であることは明らかです。しかし、私が欲しいのは、今使用されているIDと名前の名前です。 もっと明確にするには...私は "thisid"または"> 値の代わりに、使用されているIDまたは名前の名前を取得するにはどうすればよいですか。 このテキストボックスの値は "Some text"であることは明らかです。しかし、私が欲しいのは、今使用されているIDと名前の名前です。 もっと明確にするには...私は "thisid"または" />

入力値ではなく、入力の名前またはIDを取得する

簡単な質問。

<input type="text" value="Some text" name="thisname" id="thisid" />

値の代わりに、使用されているIDまたは名前の名前を取得するにはどうすればよいですか。 このテキストボックスの値は "Some text"であることは明らかです。しかし、私が欲しいのは、今使用されているIDと名前の名前です。

もっと明確にするには...私は "thisid"または "thisname"が欲しい。

私のコードを見てください



<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript" src="js/jquery.js"></script>
<script>
$(document).ready(function() {
    $("p").parent(".selected").css("background", "#FF8877");

});

function add(name) {
    $("#" + name).parent().clone().insertAfter($("#" + name).parent());
}
</script>
</head>

<body>

<div>

Hello

</div> <div class="selected">

Hello Again

</div> </body> </html>

何か案が ?

2
「Hello Again Keesher」のような挨拶を作成しようとしているようですね。 HTML属性 name id にユーザーの名前またはユーザーのIDを格納しようとしていますか?そうであれば、誰かの名前を保存しようとしているのは偶然であり、 name というHTML属性もあります。ユーザーの名前またはIDは value 属性に格納する必要があります。
追加された 著者 Kurt McKee,
idの名前は何ですか?彼らは2つの異なる属性です..あなたの質問を確認してください..
追加された 著者 AlQafir,

4 答え

したがって、 var input が要素に設定されていると仮定します:

  • input.value gives you the value
  • input.id gives you the id
  • input.name gives you the name
17
追加された

jQueryを使用している場合

$(this).attr('name'); //for name
$(this).attr('id'); //for ID
3
追加された
this が要素を参照しているとすれば...どこでも実行することはできません。
追加された 著者 pimvdb,
彼の編集したコードをよく見ている。これは確かに動作しません:)
追加された 著者 Broncha,

あなたがjqueryを使用している場合、あなたは次のことを行うことができます:

$('#thisid').attr('name');
2
追加された
私は、彼が "thisid"を知りたければ、それを実際にセレクターとして使うことはできないと思います。もちろん、要素のidを変更するのは良い習慣ではないので、要素のidを "見つける"必要はありません。
追加された 著者 Roman,

あなたの編集した質問を見てください。あなたはそれを間違っている。

要素への参照を渡すほうがはるかに簡単で、名前ではありません。

js:

function add(element) {
    $(element).parent().clone().insertAfter($(element).parent());
}

html:

Hello Again

あなたのコードがうまくいかなかった理由を知りたければ:

"id"と "name"は2つの異なる属性です。 CSS(したがってjquery)では、一般的に #idOfElement の構文でIDで要素を選択します。実際にする必要がある場合は、 * [name = "nameOfElement"] という名前で1つ以上の要素を選択できます。

2つのオプションがあります:

  • pass to your original add function the id, not the name:

    Hello Again

  • change your add function to work with names instead

    function add(name) {
        $('*[name="' + name + '"]').parent().clone().insertAfter($('*[name="' + name + '"]').parent());
    }
    

とにかく、要素自体の参照を渡すことは、依然として最良の選択肢です。

1
追加された
ローマに感謝します
追加された 著者 Gabriel,
私はあなたの提案を使用しようとします。
追加された 著者 Gabriel,
うわー、それは働いた!
追加された 著者 Gabriel,
もう一度ローマンに感謝します。ほんとうにありがとう :)
追加された 著者 Gabriel,
Keesher、これで問題が解決したら、この回答を受け入れてください
追加された 著者 clem,
JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript