Перейти к содержимому


Выбрать шаблон и создать сайт

Простенький скрипт из 4 строчек не работает!

#1 hnerd

hnerd
  • Пользователь
  • 284 сообщений
  • Репутация: 18
0

Отправлено 14 Октябрь 2014 - 13:56

Почему у меня jquery не работает?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html>
<head>
	<title>документ</title>
	<script language="javascript" src="jquery-1.11.1.min.js"></script>
	<script>
		//$('span').html("Новый текст"); //1-не работает
		//$('span').innerHTML = "Новый текст"; // 2-не работает	
		var span = document.getElementsByTagName("span")[0];
		alert(span); //3-не работает
	</script>
</head>
<body>
	<div>
		<p id='read'>текст<p>
		<h1 id='h1h1'>заголовок</h1>
		<br/>
		<input type='text' /><br/>
	</div>
	<span>еще один текст</span>
</body>
</html>

Самое главное, что ни $('span') не работает, ни $('#h1h1') тоже не работает! А в другом документе эта библиотека работает! Пыталась подключить библиотеки старых версий-все-равно не работает! В чем может быть причина-я еще новичек в этом деле, не судите строго!

 

Ужасно то, что и этот код не работает:

var span = document.getElementsByTagName("span")[0];

Выводит undefined! А он к jquery, разумеется никакого отношения не имеет!

        alert(span);


 

 

Сообщение отредактировал hnerd: 14 Октябрь 2014 - 14:00

  • 0

#2 Ixman

Ixman
  • Пользователь PRO
  • 2 159 сообщений
  • Репутация: 432

Отправлено 14 Октябрь 2014 - 14:50

Сам не силён в этих технология, стал их осваивать совсем недавно. но undefined говорит об ошибке в коде


  • 1

#3 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 14 Октябрь 2014 - 15:40


Почему у меня jquery не работает?

Потому что на момент выполнения вашего скрипта еще не софрмировано дерево DOM, иными словами, ваш скрипт еще ничего не знает о структуре вашего документа. Для того, чтобы "заработал" jQuery, либо поместите его в обработчик готовности дерева:

$(document).ready(function(){
	$('span').html("Новый текст");
});

либо же переместите скрипт в конец документа, разместив его перед закрывающим тегом body. В таком случае скрипт будет "знать" структуру документа и сможет работать с ней. Например, можно так (напоминаю, перед закрывающим тегом body):

$(function(){
	$('span').html("Новый текст");
});

Ужасно то, что и этот код не работает:
var span = document.getElementsByTagName("span")[0];

Опять же, поместите его в конец документа, и он прекрасно заработает.

 


Выводит undefined!

Логично, поскольку, как и говорил выше, на момент выполнения скрипта в документе нет ни единого элемента span (он ниже, после скрипта). К слову, undefined говорит не об ошибке, а всего лишь о том, что переменная span не определена (точнее, имеет неопределенное значение).


Сообщение отредактировал matroskin8: 14 Октябрь 2014 - 15:48

  • 2


#4 hnerd

hnerd
    Topic Starter
  • Пользователь
  • 284 сообщений
  • Репутация: 18

Отправлено 15 Октябрь 2014 - 11:28

Спасибо большое! Вы мне очень помогли, а то я лишь начинаю изучать js вот и возникают такие вопросы!!


Сообщение отредактировал GVA: 15 Октябрь 2014 - 21:29

  • 0

#5 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 15 Октябрь 2014 - 11:42

Пожалуйста)


  • 0



Оформление форума – IPBSkins.ru