Вход

Просмотр полной версии : jQuery не работает ни в IE8 ни в Firefox


Jon
08.01.2010, 19:20
Уважаемые господа, голову сломал ища причину, почему не работает 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
[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-plagin-dlya-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
…joomla…
Вот в этом сáмом месте я обычно говорю, что ничего не знаю и знать не хочу. :)

PeaceCoder
09.01.2010, 23:39
Вот в этом сáмом месте я обычно говорю, что ничего не знаю и знать не хочу
и правильно.