символы не допускаются в идентификаторах DOM ни спецификацией, ни браузером

Я сделал jsfiddle, чтобы показать вам, как это сделать:

http://jsfiddle.net/3yHTH/

Идея состоит в том, чтобы показать popover, когда вы нажимаете кнопку, и скрывать popover, когда вы нажимаете кнопку за пределами кнопки.

HTML

Click for popover

JS

$('#button').popover({
    trigger: 'manual',
    position: 'bottom',
    title: 'Example',
    content: 'Popover example for SO'
}).click(function(evt) {
    evt.stopPropagation();
    $(this).popover('show');
});

$('html').click(function() {
    $('#button').popover('hide');
});

1
задан Community 23 May 2017 в 10:30
поделиться

2 ответа

В этом разница между HTML4 и HTML5.

Как сказано в этом ответе, идентификаторы в HTML4 сильно ограничивали допустимое.

Действительный идентификатор в HTML4 в соответствии со спецификацией ,

должен начинаться с буквы ([A-Za-z]) и может сопровождаться любым количеством буквы, цифры ([0-9]), дефисы ("-"), символы подчеркивания ("_"), двоеточия (": ") и точки (".").

HTML5 намного проще работает с идентификаторами. Действительный идентификатор в соответствии со спецификацией HTML5,

должен быть уникальным среди всех идентификаторов в домашнем поддереве элемента и должен содержать хотя бы один символ. Значение не должно содержать пробелов.

Поскольку браузеры переходят на HTML5 (большинство из них уже реализовали эти основы), вы можете обнаружить, что большинство современных браузеров будут придерживаться способа определения идентификаторов HTML5. Тем не менее, лучший способ — протестировать его или получить документацию, чтобы точно знать, какие браузеры работают, а какие — нет.

2
ответ дан 2 September 2019 в 21:50
поделиться

Какова цель этого вопроса? Вы ясно понимаете, что это не очень хорошая идея. Многие браузеры допускают запись недопустимого кода, потому что они не хотят показывать пользователям поврежденные страницы.

Не стоит этого делать, потому что велика вероятность, что он сломается вчера, сегодня и уж точно завтра. Так что не надо об этом спрашивать.

0
ответ дан 2 September 2019 в 21:50
поделиться
Другие вопросы по тегам:

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