JQuery не находит теги, кроме HTML - PullRequest
2 голосов
/ 18 ноября 2011

Я создаю приложение Rails 3.1.1 и пытаюсь добавить к нему некоторый код jQuery. Похоже, jQuery ничего не делал, поэтому я добавил границу для всех элементов:

jQuery("*").css("border", "5px solid red");

При перезагрузке страницы только html имел эту границу. Например, я могу манипулировать цветом текста всех элементов с помощью jQuery с помощью html-тега, но не с помощью специального идентификатора элемента или класса.

Я точно знаю, что Javascript работает и библиотека jQuery загружается:

javascript:alert($);

приносит:

function (selector, context) {
   return new jQuery.fn.init(selector, context, rootjQuery);
}

Почему я не могу получить доступ к элементам?

Ответы [ 6 ]

1 голос
/ 18 ноября 2011

оберните вашу функцию инициализации внутри $(document).ready(); примерно так:

$(document).ready(function(){
    // your code here will get executed
    // when the document finishes loading.
    jQuery("*").css("border", "5px solid red");
});
0 голосов
/ 22 ноября 2011

Проблема решена, так как файлы javascript загружены в тег head, тело еще не существует, поскольку оно только добавляет границы в html.

0 голосов
/ 18 ноября 2011

Вы должны проверить, когда вы вызываете эту функцию. Вы должны добавить эту функцию на событие, когда весь документ загружен. Проверьте этот код:

function init(){
     jQuery("*").css("border", "5px solid red");
}

window.addEventListener('load', init, true);
0 голосов
/ 18 ноября 2011

скажи ответ от этого:

if (jQuery) {  
    alert('1');
} else {
    alert('0');
}
0 голосов
/ 18 ноября 2011

Вы можете получить доступ ко всем элементам, $("*") сделает это.

Если вы хотите получить доступ к элементу по идентификатору, используйте префикс #.

Для доступа по css-классу используйте префикс ..

Для доступа по типу тега html (tagName) используйте только имя .например,

$('#mybox') //selects tags with id = 'mybox'

$('.myclass') //selects tags with class = 'myclass'

$('input') //selects all <input> tags

http://api.jquery.com/category/selectors/

0 голосов
/ 18 ноября 2011

Вы должны выполнить итерацию для каждого элемента: http://api.jquery.com/each/

...