Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   jQuery не работает ни в IE8 ни в Firefox (https://javascript.ru/forum/events/6966-jquery-ne-rabotaet-ni-v-ie8-ni-v-firefox.html)

Jon 08.01.2010 19:20

jQuery не работает ни в IE8 ни в Firefox
 
Уважаемые господа, голову сломал ища причину, почему не работает jQuery. Нужно решить простую задачу, менять размер блока в зависимости от разрешения экрана и размеров окна. Но jQuery не делает выборку по массиву и соответственно далее не производит вычислений и присвоений. При этом браузер ошибок не выдает.
Пример кода
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Документ без названия</title>
<script src="jquery-1.3.2.js" type="text/javascript"></script>
<script type="text/javascript">
    
 
    $("body")                // 1
    .find("div").css("background-color", "green")    // 2
    .end()                // 3
    .find("span").css("border", "1px solid #F00")    // 4
    .end()                // 5
    .css("background-color", "#000");
	
    </script>
</head>

<body>
<div id="my-div">
  <a href="http://google.com/" id="my-link">Ссылка</a>
</div>


</body>


Если я пишу
alert ($("div"));
, то получаю [object Object] вместо
<a href="http://google.com/" id="my-link">Ссылка</a>
.
Подскажите плиз - где собака зарыта?

Octane 08.01.2010 19:27

http://docs.jquery.com/Events/ready

subzey 08.01.2010 19:28

Цитата:

Сообщение от Jon (Сообщение 39974)
[object Object]

Правильно. Результат работы $ — объект-обвертка для элемента(-ов), если Вам нужно получить именно сам элемент, используйте:
alert($("div").get(0))


И, как правильно подметил Octane, объект уже должен сущестовать в документе к моменту, когда запускается этот код.

Jon 08.01.2010 20:09

Огромное спасибо за статью, ответ действительно лежал на поверхности:yes:. И по alert тоже. Сам же сегодня неоднократно get юзал. А тут думал что раз объект один, то и так будет. Еще раз снимаю шляпу!

Jon 08.01.2010 22:50

Мда... Погорячился на радостях. Этот пример работает. Но свою задачу решить не удалось.
Во-первых: движок joomla, и в шаблоне при обращении к плагину jquery выдает ошибку "Есть Null или не является объектом".
Во-вторых: если сделать из шаблона index.html удалив весь php код, тогда без ошибок заходит в плагин и там умирает...
Плагин следующий, база взята с http://www.simplecoding.org/sozdaem-...ya-jquery.html. Изменено только назначение - менять ширину дива, а не перемещать картинку.
Но не работает у меня ни исходник с вышеуказанного сайта, ни мой проект:( .

Jon 08.01.2010 22:54

Проблема в методе $(element).load(function(). Он почемуто у меня не работает вообще. Кстати с $(document).ready() он вроде как не должен работать. http://docs.jquery.com/Events/load#fn

subzey 09.01.2010 04:01

Цитата:

Сообщение от Jon
…joomla…

Вот в этом сáмом месте я обычно говорю, что ничего не знаю и знать не хочу. :)

PeaceCoder 09.01.2010 23:39

Цитата:

Сообщение от subzey
Вот в этом сáмом месте я обычно говорю, что ничего не знаю и знать не хочу

и правильно.


Часовой пояс GMT +3, время: 00:03.