2011-11-22 10 views
5

मैं coffeescript उपयोग करने का प्रयास कर रहा हूँ को छिपाने के लिए कैसे/jQuery करने के लिए निम्नलिखित:चयन और सभी लेकिन एक HTML फ़ाइल में पहले 5 तत्वों (डोम)

1) को पुनः प्राप्त सभी 'विषय' एचटीएमएल में दिखाया गया है (नीचे देखा गया)

2) पहले 5 सूचीबद्ध किए गए प्रदर्शन के अलावा सभी विषयों को छुपाएं।

enter image description here

मैं निम्नलिखित लेकिन काम नहीं कर रहा करने की कोशिश की

//Retrieve the entire list of and hide all but the first 5 topics in the list 
$(".topics .topic")[5..-1].hide() 

कोई कैसे मैं सही ढंग से HTML दस्तावेज़ से विषयों की सूची प्राप्त कर सकते हैं पर मुझे सलाह कर सकते हैं और बाद में छिपाने के सभी लेकिन पहले 5 विषय?

उत्तर

11
$(".topics .topic").slice(5).hide(); 
बाहर jQuery gt() selector

http://api.jquery.com/slice/

+1

सही विचार, ओपी को छोड़कर सभी को छिपाना चाहता है, पहले 5 को छिपाना नहीं है, पहले 5 को छिपाएं नहीं। – jfriend00

+1

ओह, तय .... – ThiefMaster

+1

यह ओपी की समस्या का समाधान नहीं हो सकता है, क्योंकि कॉफीस्क्रिप्ट कोड ' $ ("विषय .topic") [5 ..- 1] .hide() 'वास्तव में इस पर संकलित करता है। ([इसे आज़माएं] (http://coffeescript.org/#try:%24 (% 22.topics% 20.topic% 22)% 5B5 ..- 1% 5D.hide())। –

3

की जांच:

$(".topics .topic:gt(4)").hide(); 
+0

सबसे आसान तरीका । –

3

आपका कोड

$(".topics .topic")[5..-1].hide() 

काम करना चाहिए, क्योंकि यह $(".topics .topic").slice(5).hide() को संकलित करता है तथा jQuery's slice आप अपनी ज़रुरत है। तो मुझे लगता है कि डीओएम सही स्थिति में है इससे पहले कि आपका कोड चल रहा है। क्या आपने

$(document).ready -> $(".topics .topic")[5..-1].hide() 

को आजमाया है? जब आप

alert $(".topics .topic").length 

आपकी स्क्रिप्ट में एक ही बिंदु पर क्या मिलता है?

यदि समस्या चयन के साथ नहीं है, तो समस्या hide() के साथ होनी चाहिए, जो लक्ष्य 'इनलाइन सीएसएस को संशोधित करके काम करता है। आप अपने कोड में कहीं और उस सीएसएस को ओवरराइड कर सकते हैं। विवरण प्राप्त करने के लिए "निरीक्षण तत्व" का प्रयोग करें।

संबंधित मुद्दे