2012-03-19 9 views
0

bodyのdivのidと等しいvarを定義しようとしています。私の非機能的な考え方は、このでした:javascript変数をdivのIDとして定義するにはどうすればよいですか?

私はページが読み込まれるとすぐにIDとして定義する変数を必要とするので、私はイベントを使用していない等の技術を使用することはできません
var userid = $('.all').attr('id'); 

$('.all').click(){ 
    var alldivIDvalue = $(this).attr('id'); 
} 

違いがあるかどうかはわかりませんが、idはセッションのprofile/usernameのphp出力と同じになります。

+1

最初の方法の問題点は何ですか? –

+0

ここにあなたの質問は何ですか? – Fabian

+0

あなたが達成しようとしているもの.. "all name class"を取得し、その変数に "all"を含むdivクラスのIDを入れたいと思っています。 var userid = $( '。すべてのID');このように –

答えて

2

あなたはページ上部(頭でさえ)のvar useridのどこかに宣言し、document.loadの後ろにこの変数に値を追加する必要があります。あなたのjqueryの負荷内部次に

var userid = []; //In html head 

:あなたは、負荷のdoesnt物を入れて、HTMLドキュメントがロードされたときに、このイベントがトリガされbacause他のHTMLに影響を与えるdoes notの

$(document).ready(function() { 
    userid = $('.all').attr('id'); 
}); 

場所。

編集コメントを

感謝。

+0

代わりに '' $(document).ready'''を使うのは助かりがあります。ページが完全に読み込まれたときではなく、以前に(DOMが準備ができているとき)起動されます。グラフィックス、フラッシュ、ビデオなど – dtech

+0

@dtechああ私の神。もちろん!あなたが正しいです。私は私のコードからではなく、私の頭からこのスニペットをしました。私は間違いを置き換えました。乾杯! –

2

IDは、ページのHTMLが構築されている時にPHPに知られている場合は、直接このようなjavascriptの中にそれを書き込むことができます。

<script> 
var userid = '<?php echo $userID; ?>'; 
</script> 

利用できるが、このアプローチは、値を書き込むよりも簡単ですHTMLサーバー側(そしてそれからDOM)に読み込み、それをjavascriptのクライアント側に読み込みます。

もちろん、他の目的で同じ値をHTML/DOMに書き込むのを止めることはありません。

+0

質問は明確ではありませんが、この回答は意味をなさないものです。 PHPは決して言及されておらず、JSの解決策は簡単ではありません – dtech

+0

申し訳ありませんが、OPは "IDがセッションのプロファイル/ユーザー名のPHP出力と等しくなる"と言ってしまいます。 jqueryの解決策は簡単ですが、もっと単純なアプローチを採用してみませんか?それは完璧な意味合いがあります。 –

+0

+1私は、phpで直接変数を初期化することは良いアイデアかもしれないことに同意します。 (しかし、ユースケースにもよるが) – Christoph

関連する問題