我使用的原型,並且有一定的div id爲P1,P2,P3 ... 在這些div我有一些div id爲D1 D2 D3 ......
我想用$來在指定的p元素中獲取指定的d元素。
如果給出值3和4,我應該可以去$('p3')。$('d4') 當然,這種語法不起作用。
這裏有一個簡單的方法來做到這一點與jQuery所以我假設它存在於原型
我使用的原型,並且有一定的div id爲P1,P2,P3 ... 在這些div我有一些div id爲D1 D2 D3 ......
我想用$來在指定的p元素中獲取指定的d元素。
如果給出值3和4,我應該可以去$('p3')。$('d4') 當然,這種語法不起作用。
這裏有一個簡單的方法來做到這一點與jQuery所以我假設它存在於原型
不幸的是,原型的$
功能並不鏈,因爲它返回一個擴展HTMLElement
對象和$
是一個窗口方法。但是,您可以使用$$
function用CSS選擇器一起實現這一點:
$$('#p3 #d4').first(); // Element with id 'd4' that's a descendant of an element with id 'p3'
雖然$$
函數返回一個擴展HTMLElement
對象就像$
,它實際上返回他們的陣列,作爲一個CSS選擇器可能潛在匹配多個元素。
你可以閱讀關於CSS選擇器here。
考慮的ID(「標識符」)是(應該是)唯一的,爲什麼不直接使用你最特殊標識有 - 第二個:
$('d4')
如果標識符不是唯一的,他們不識別......他們不應該被用來作爲你的div的「id」屬性...
其實,如果喲u有這樣的事情:
p1
d1
d2
p2
d1
d2
d3
p3
d1
你的 「PX」 即可ID(它們是唯一的),但你的 「DX」 不應該是IDS;一個解決方案可能是使用該類來存儲「dX」信息。
像這樣的一點,我想:
id=p1
class=d1
class=d2
id=p2
class=d1
class=d2
class=d3
id=p3
class=d1
然後,你將使用$$功能與CSS選擇器:如果你想與一類=「D2」的elemnt裏面的元素id =「p1」,像這樣的東西可能會工作:
$$('#p1 .d2');
即:
希望這是清楚的,並有助於.D2 =元件元件.. 。
這應該工作:
$('p3').select('#d4').first()
話又說回來,如果所有的ID是唯一的,因爲他們應該的,爲什麼不這樣做:
$('d4');
$('p3').select(new Selector('#d4'));
+1。雖然還是應該提到,通常只需要執行$('d4'),這相當於您的示例。 – Triptych 2009-08-25 20:24:12
同意。我的方法只是強調問題的p3-> d4關係,但正如其他答案指出的那樣,ID應該是單數的,在這種情況下$('d4')就足夠了。 – 2009-08-25 21:18:54