2012-03-19 42 views
0

我想定義一個var等於正文中的div的id。我的非功能性的想法是這樣的:如何將javascript變量定義爲div的ID?

var userid = $('.all').attr('id'); 

因爲我需要儘快定義爲ID在頁面加載的變量,我不使用的情況下,不能使用類似的技術:

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

不知道它是否有所作爲,但該ID將等於會話配置文件/用戶名的php輸出。

+1

第一種方法有什麼問題? – 2012-03-19 07:51:30

+0

那麼你在這裏有什麼問題? – Fabian 2012-03-19 07:53:20

+0

你想達到什麼目標。你想得到「全名班」,然後把包含「全部」的div類的id放在一個變量中。 var userid = $('。all id');像這樣 – 2012-03-19 07:55:08

回答

2

顯然你應該在頁面的頂部(即使是在頭部)聲明var userid,然後在document.load之後將值附加到這個變量。

var userid = []; //In html head 
您的jQuery的負載物內部

然後:你把負荷並不重要和bacause加載HTML文檔時觸發此事件上的其他HTML犯規影響

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

廣場。

編輯

感謝對此事發表評論。

+0

我會建議使用'''$(文件).ready'''代替。它在較早時(DOM已準備好時)而不是當頁面完全加載時觸發,包括例如圖形,閃光燈,視頻等。 – dtech 2012-03-19 09:53:59

+0

@dtech哦,我的上帝。當然!你是對的。我從我的頭上做了這個片段,而不是從我的代碼中。我已經取代了我的錯誤。乾杯! – 2012-03-19 10:19:57

2

如果ID是已知的,在頁面的HTML是建立在時間PHP,那麼你可以將它直接寫入到JavaScript這樣的:

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

可用時,這種方法比寫一個值更簡單到HTML服務器端(然後DOM),然後將其讀入JavaScript客戶端。

當然,沒有什麼能夠阻止你爲了某種其他目的而將相同的值寫入HTML/DOM。

+0

雖然問題不完全清楚,但這個答案也沒有意義。 PHP從來沒有被提及過,JS解決方案很簡單 – dtech 2012-03-19 09:51:17

+0

對不起,但OP沒有說出「這個id將等於session profile/username的php輸出」。鑑於jquery解決方案是微不足道的,爲什麼不採用更簡單的方法?它非常有意義。 – 2012-03-19 10:20:05

+0

+1我同意,在PHP中初始化變量直接可能是一個好主意。 (具體取決於用例) – Christoph 2012-03-19 10:25:06