0

要素に 2 番目の一意の ID を追加する必要があります。

これを使用して新しいIDを生成します

var id = 1;
function getNextId()
{
    return ++id;
}

それから私はこれをやっています

$('<div id="content '" + getNextId() +"'" class="span6"></div>').appendTo('.new');

しかし、私はUncaight SyntaxError: Unexpected identifier

2 番目が一意の ID である複数の ID を追加するにはどうすればよいですか?

(私はクリックで最初の ID を削除するので、そこに #content を残しても問題ありません)

要素の複数の ID については、ここで説明しています: HTML 要素は複数の ID を持つことができますか?

4

5 に答える 5

6

2 番目が一意の ID である複数の ID を追加するにはどうすればよいですか?

できません。

1 つの要素に複数の ID を持つことはできません。要素ごとに 0 個または 1 個の ID を取得します。それだけです。要素を選択するために追加のものを追加したい場合は、クラスを使用できます。

構文エラーは、非常に混乱した引用符が原因です。私はあなたがこれをしたかったと思う:

$('<div id="content newId' + getNextId() + '" class="span6"></div>')

のようなものを生成しますが<div id="content newId3">、これは機能しません。2 つの ID を指定するのではなく、スペースを含む 1 つの ID を指定します。これは無効な ID です。

ID および NAME トークンは文字 ([A-Za-z]) で始まる必要があり、その後に任意の数の文字、数字 ([0-9])、ハイフン ("-")、アンダースコア ("_") を続けることができます、コロン (":")、およびピリオド (".")。

于 2013-02-07T16:11:05.187 に答える
2

コードには2つの問題があります。

  1. 'a'b有効なJavaSciptではありません。試す'a' + b

  2. HTMLIDでは空白文字は使用できません。また、たとえそうであったとしても、id属性内のすべての文字がIDを構成するため、要素に複数のIDを割り当てることはできません。class代わりに使用してください。

于 2013-02-07T16:12:03.480 に答える
1

次のように見えます:

$('<div id="content '+ newId + getNextId() +'" class="span6"></div>').appendTo('.new');

そのほうが正しいに違いない

于 2013-02-07T16:13:54.913 に答える
0

そこに追加するのがかなり良いスタートだと思います+

'<div id="id-' my_id_var '"></div>'

うまくいかないだけです。

"<div id=\"id-" + getNextID() + "\"></div>"

ただし、問題なく動作します。

2番目の問題は、各要素が1つのIDを取得することです。重要なのは、要素を一意に識別
できるようにするためにIDが与えられるということです。要素を2回 一意に識別できるようにするのはなぜですか?

これを行う方法は他にもたくさんあります。

まず、あなたは持っていclassます。
同様の状態( "selected"、 "news-article"、 "user-interactive")を必要とするオブジェクトを操作している場合は、クラスを使用してください。

次に、data-属性があります。

<div id="player_1"
     class="player-character"
     data-health="42"
     data-x="320"
     data-y="240"
     data-speed="5"
    ><img src="..."
></div>

次に、JSでは、次のようなことができます。

var player_1 = document.getElementById("player_1");
player_1.dataset.health;  // "42"

これらの値は、IE8までさかのぼってサポートされていると思います。
それ以上に進みたい場合は.dataset、を使用する代わりに、.setAttribute("data-" + field_name, value)

jQueryを使用している場合は、とにかく、jQueryがすべてを処理します。

では、これらすべてのオプションで、なぜ1つの要素に2つのIDが必要なのですか?

于 2013-02-07T16:24:41.863 に答える
0

代わりにこれを試してください:

$('<div id="content-' + getNextId() + '" class="span6"></div>').appendTo('.new');
于 2013-02-07T16:12:25.743 に答える