Я столкнулся с очень странным поведением с помощью jQuery. У меня есть function
вроде этого:Почему = вместо - в результатах селектора выбирает все
function refreshTechBubble(techID, value) {
$("span.top-right-data[data-id=" + techID + "]").html(value);
}
Этот function
обновляет конкретный техник пузырь. Чтобы сделать его более простым и техническим, давайте просто укажем, что эта функция изменяет внутренний html span
, который уникально найден через селектор "span.top-right-data[data-id=" + techID + "]"
. Все это очень хорошо, и все работает правильно.
Однако при реализации этого я сделал опечатку, и я имел неверную реализацию:
function refreshTechBubble(techID, value) {
$("span.top-right-data[data=id=" + techID + "]").html(value);
}
Обратите внимание, что я написал = вместо - случайно. Хотя исправление было тривиальным, и в данный момент у меня нет никаких проблем, я все равно задаюсь вопросом о поведении, которое я испытал во время тестирования. С такой опечаткой я ожидал бы, что jQuery не найдет никаких тегов и, следовательно, не обновит свой внутренний html, однако вместо этого обновит внутренний HTML всех span
s с class
top-right-data
. Почему я испытал это поведение до исправления, а не поведение, которое я ожидал?
Вы хотите сообщить об этом как об ошибке. Я предполагаю, что они просто игнорируют недопустимые селекторы. – Bergi
Я сразу получаю синтаксическую ошибку. – Xufox
НО это 'функция' мой друг;) –