首先,您不能擁有兩個具有相同ID的對象。所以你不能有兩個對象id="Admin"
。你將不得不給每個人一個不同的ID或使用一個共同的類名(或兩者)。所以,你可以把它改成這樣:
<div id="Window1" class="name">
<span id="Admin1" class="admin"></span>
</div>
<div id="Window2" class="name">
<span id="Admin2" class="admin"></span>
</div>
而且,然後使用這個jQuery來處理點擊獲取點擊的對象的父的ID:多一點有效
$(".admin").click(function() {
var parentId = $(this).parent().attr("id");
});
,或者用少一點的jQuery:
$(".admin").click(function() {
var parentId = this.parentNode.id
});
我最喜歡的選擇實際上是這個,因爲它是對某些HTML變化多了幾分穩健的(如果一個新的div容器是圍繞引進像跨度):
$(".admin").click(function() {
var parentId = $(this).closest(".name").attr("id");
});
.parent()
或.parentNode
前兩個選項一起使用上去的DOM hieararchy只有一個級別。
.closest(".name")
在第三個選項中使用,根據需要調高父級層次結構,直到找到與傳入選擇器匹配的父級。它有點更強大,並且更有可能確保您獲得所需的父代,即使HTML稍作更改。並不總是需要,但值得了解。
ID必須是唯一的。你應該使用有效的HTML。 – 2012-02-25 23:34:30