Как выбрать узлы HTML идентификатором с jQuery, когда идентификатор содержит точку?

Цикл while оценивает условие и выполняет код в своем блоке, когда условие оценивается как True, в противном случае он выходит из цикла. Условие True заставляет цикл продолжаться бесконечно, поскольку он может только когда-либо принимать значение True, в то время как False заставляет цикл немедленно завершать работу без выполнения кода в своем блоке.

Я знаю, что это только пример того, как использовать цикл while, однако, если бы это был реальный вариант использования, вы бы хотели вместо этого использовать цикл for.

given_list2 = [5, 4, 4, 3, 1, -2, -3, -5]
total3 = 0

for n in given_list2:
    if n > 0:
        total3 += n
    else:
        break

print(total3)

или даже

total3 = sum(n for n in given_list2 if n > 0)
174
задан Boris Callens 18 April 2014 в 13:42
поделиться

2 ответа

@Tomalak в комментариях:

, так как идентификационным селекторам должен предшествовать хеш #, не должно быть никакой неоднозначности здесь

, “#id.class” является допустимым селектором, который требует, чтобы и идентификатор и отдельный класс соответствовали; это допустимо и не всегда полностью избыточно.

корректный способ выбрать литерал †˜. ’ в CSS должен выйти из него: “#id\.moreid”. Это раньше доставляло неприятности в некоторых более старых браузерах (в особенности IE5.x), но все современные настольные браузеры поддерживают его.

тот же метод, действительно кажется, работает в jQuery 1.3.2, хотя я не протестировал его полностью; quickExpr не берет его, но более включенный селекторный синтаксический анализатор, кажется, разбирается в нем:

$('#SearchBag\\.CompanyName');
210
ответ дан bobince 23 November 2019 в 20:30
поделиться

Один вариант был бы этим:

$("input[id='SearchBag.CompanyName']")
116
ответ дан Tomalak 23 November 2019 в 20:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: