我有一個問卷頁面,有些div
有data-answered
屬性添加到他們這樣的:JQuery的未過濾DOM改變
<div class="question" data-answered="False">
... rest of the html
</div>
現在我有幾個在某些時候的那些,並通過js
(你可以閱讀JQuery的)我做的:
myDiv.data("answered", "True")
請假設我有辦法讓實際div
,這裏不是問題。現在我可以看到,實際data-answered
屬性設置爲"True"
當我檢查js的當地人,對DOM探險不過說明不了什麼。然而,問題是當我需要回答的問題數是這樣的:
var answeredCount = $('[data-answered=True]').length
那麼無論有多少變化我做了,我總是相同的元素/結果/算作當第一次加載頁面。但是,如果我做以下操作:
var answeredCount = $('[data-answered]')
.filter(function() { return $(this).data('answered') == 'True' })
.length
然後我得到我預期的結果。我會用一個實際的瀏覽器的一些數據可以添加圖片作爲證明我剛纔說要支持我的要求:
注:此行爲似乎發生在歌劇院和邊緣,因爲我在Chrome上試用過它,它按我的預期工作,沒有試過Firefox。
這是預期的行爲?
我誤解了JQuery如何使用DOM並且它發生了變化?
只有這兩種瀏覽器才能讓它們變得特別嗎?