Ответ 1
Хеш (#) указывает на выбор элементов по их идентификаторам
Точка (.) указывает на выбор элементов по их имени класса
Подробнее о селекторах вы можете узнать здесь: http://api.jquery.com/category/selectors/basic-css-selectors/
Я чувствую смущение символов точки и хэша в следующем примере:
<DIV ID="row">
<DIV ID="c1">
<Input type="radio" name="testing" id="testing" VALUE="1">testing1
</DIV>
</DIV>
Код 1:
$('#row DIV').mouseover(function(){
$('#row DIV').addClass('testing');
});
Код 2
$('.row div').mouseover(function(){
$(this).addClass('testing');
});
Коды 1 и 2 выглядят очень похожими, и поэтому меня так путают, что
когда я должен использовать ".row div", чтобы ссылаться на конкретный DIV вместо использования "#row div"?
Хеш (#) указывает на выбор элементов по их идентификаторам
Точка (.) указывает на выбор элементов по их имени класса
Подробнее о селекторах вы можете узнать здесь: http://api.jquery.com/category/selectors/basic-css-selectors/
$('. row') выберет любой элемент с class="row"
$('# row') выберет элемент с id=row
Это селектор CSS.
Символ хеша #
означает, что этот элемент является идентификатором. Таким образом, #row
будет соответствовать <div id="row">
.
В качестве альтернативы, символ точки .
означает, что этот элемент является классом CSS. Таким образом, .row
будет соответствовать <div class="row">
.
Более подробная информация приведена в W3C.
"относится к классу, а" #" относится к идентификаторам.
<table id="table">
<tr class="odd"></tr>
<tr></tr>
<tr class="odd"></tr>
</table>
$( "# table" ) получит полный объект таблицы, а $( ". odd" ) получит все с классом "odd". $( "tr.odd" ) будет получать таблицы только с этим классом.
.
указывает класс, называемый "строка". #
указывает идентификатор, называемый "строка".