<div>
<span>A</span>
<span>B</span>
<span>C</span>
<span>D</span>
</div>
如果用戶點擊跨度,我需要在該跨度上應用樣式(文本顏色)以及該div內的所有前面跨度。還要刪除之前點擊的跨度做法。跨度沒有類和id。如何獲得div內的點擊跨度並使用JQuery修改前面的跨度和後續跨度?
我怎樣才能實現這個使用J查詢?
<div>
<span>A</span>
<span>B</span>
<span>C</span>
<span>D</span>
</div>
如果用戶點擊跨度,我需要在該跨度上應用樣式(文本顏色)以及該div內的所有前面跨度。還要刪除之前點擊的跨度做法。跨度沒有類和id。如何獲得div內的點擊跨度並使用JQuery修改前面的跨度和後續跨度?
我怎樣才能實現這個使用J查詢?
要選擇所有以前的單擊元素的同胞元素,您可以使用prevAll()
,但也包括您需要添加的單擊元素andSelf()
。此外,您首先需要從每次點擊span
時刪除所有span
的背景。
$('div span').click(function() {
$('div span').css('background', 'none');
$(this).prevAll().andSelf().css('background', 'red')
})
body {
padding-top: 10px;
}
span {
cursor: pointer;
padding: 10px;
border: 1px solid black;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<span>A</span>
<span>B</span>
<span>C</span>
<span>D</span>
</div>
哇,你總是學到一些新的,偉大的和簡單的方法來解決這個問題。感謝分享。 – ProgrammerV5
@ ProgrammerV5不客氣。 –
檢查this小提琴代碼幫助。
JS:
$('span').click(function(){
$(this).siblings().css('color','')
$(this).css('color','red');
$(this).prevAll().css("color", "red");
});
使用'和'.prev()'和'的.next()' – guradio
這+ .siblings()this'方面 –
預計你至少嘗試自己編碼。堆棧溢出不是代碼寫入服務。我建議你做一些[**額外的研究**](http://meta.stackoverflow.com/questions/261592/how-much-research-effort-is-expected-of-stack-overflow-users) ,無論是通過谷歌或通過搜索,嘗試和。如果您仍然遇到麻煩,請返回**您的代碼**並解釋您所嘗試的內容。 –