我用這個語句試圖擺脫TD數組中的元素:如何通過它的類名
$("td", calendar).getElementsByClassName("today")
,但我一直得到錯誤getElementsByClassName方法不是一個函數。
$("td", calendar)
給出「td」的數組。是否有可能只使用一行訪問「today」「td」,或者需要某種迭代?
我用這個語句試圖擺脫TD數組中的元素:如何通過它的類名
$("td", calendar).getElementsByClassName("today")
,但我一直得到錯誤getElementsByClassName方法不是一個函數。
$("td", calendar)
給出「td」的數組。是否有可能只使用一行訪問「today」「td」,或者需要某種迭代?
jQuery是DOM元素的包裝,並有其自己的幫助函數。
要過濾元素的集合,使用.filter
像這樣:
$('td', calendar).filter('.today');
如果你只打算使用td
s的的today
類,那麼最好是改變你的選擇:
$('td.today', calendar);
你可以通過內置的JS函數來實現這個,就像這樣
const tdCollection = document.querySelectorAll('td.today');
console.log(tdCollection);
<table>
<tr>
<td>yesterday</td>
<td class="today">today</td>
<td>tomorrow</td>
</tr>
</table>
我用你的第一個建議,它返回一個數組,所以我只是添加了一個[0],它被修復了,謝謝。你知道哪種方法更快嗎? –
最後一個沒有jQuery。 jQuery本身只是一個包裝器,它當然依賴於內置的JS函數。我不會推薦使用jQuery,除非你真的需要支持IE的老版本 - 但據我所知,jQuery不會支持舊版本。時下幾乎所有的事情都可以在沒有jQuery的情況下輕鬆完成。 – lumio
您正在使用jQuery混合香草的JavaScript。
的Javascript
var x = document.getElementsByClassName("today")
這個返回與此類名的所有元素的數組
jQuery的
var x = $('.today');
與jQuery選擇一個元素時,你需要在前面加上「 #「用於ID和A」。「上課
運氣好,玩得開心學習JavaScript :)
[編輯]對不起,我顯然在這裏讀了真正的問題。在你的具體情況下,你最好採用類似於@lumio在他的回答中提出的解決方案。
我只能想象得到了downvoted(不是我),因爲它沒有回答問題中的具體情況。也許添加一行,「在你的情況下,這意味着使用...」 –
'document.getElementsByClassName(「today」)'nothing more。 – Doomenik
發佈您的HTML。 –
也許'$(「td」,calendar).filter(「。today」)' –