मेरे पास निम्न मेनू है जिसमें लगभग 50 आइटम और दो लिंक हो सकते हैं जो उपयोगकर्ता पिछले या अगले शहर में नेविगेट करने के लिए उपयोग कर सकते हैं। यहां इस उदाहरण के लिए मैं सिर्फ चार पता लिंक दिखा रहा हूं।मैं यह देखने के लिए चेक कैसे कोड कर सकता हूं कि कोई तत्व माता-पिता का पहला या अंतिम है या नहीं?
<ul id="menu">
<li><a href="/City/0101004H">1</a></li>
<li><a href="/City/0101004I">2</a></li>
<li><a href="/City/0101004J">3</a></li>
<li><a href="/City/0101004K">4</a></li>
</ul>
<a id="prev" href="#"><img width="16" height="16" src="/images/prev.png">Prev</a>
<a id="next" href="#"><img width="16" height="16" src="/images/next.png">Next</a>
मैं ढेर अतिप्रवाह पर कुछ मदद की थी और निम्न कोड के साथ आया था:
$("#menu").on('click', 'a[href^="/City"]', function(event) {
event.preventDefault();
var prev = $(this).parent().prev().find('a');
var next = $(this).parent().next().find('a');
$('#prev').prop('href', jQuery(prev).prop('href')).prop('title', 'City ' + jQuery(prev).text());
$('#next').prop('href', jQuery(next).prop('href')).prop('title', 'City ' + jQuery(next).text())
});
यह पिछले और उचित मूल्य के बगल की href सेट जब मैं क्लिक करें मेनू आइटम में से एक पर। यह सूची में पहली और आखिरी वस्तुओं के लिए काम करता है लेकिन नहीं। क्या मैं जरूरत यह है:
क) पहला आइटम मैं पर क्लिक किया जाता है जब #prev चाहते हैं बदलने के लिए:
<a id="prev" href="#"><img src="/images/noentry.png"></a>
ख) जब अंतिम आइटम क्लिक किया जाता है पर मैं # चाहते हैं इसके आगे बदलने के लिए:
<a id="next" href="#"><img src="/images/noentry.png"></a>
क्या कोई आसान तरीका है कि मैं बहुत अधिक अतिरिक्त कोड जोड़ने के बिना ऐसा कर सकता हूं?
'लंबाई == 0' की जांच करने के बजाय, आप केवल सत्यता की जांच कर सकते हैं और' if/else' निकायों को उलट सकते हैं, उदा। 'अगर (अगली। लम्बाई) {...} else {...}' –
एक दूसरा संस्करण जोड़ा गया जो सामान्य कोड के लिए स्थानीय फ़ंक्शन का उपयोग करता है। – jfriend00