Показать сообщение отдельно
  #1 (permalink)  
Старый 13.07.2014, 21:51
Аспирант
Отправить личное сообщение для Ленча Посмотреть профиль Найти все сообщения от Ленча
 
Регистрация: 13.07.2014
Сообщений: 78

Не отрабатывает пример из книги - помогите разобраться, почему.
Доброго всем вечера.

Я сейчас изучаю книгу "Джейсон Ленгсторф - PHP и jQuery для профессионалов - 2011"

Там есть такой пример

Чтобы воспользоваться функцией обратного вызова для генерации требуемого дескриптора HTML, которым должен быть окружен элемент, нужно возвратить из нее этот дескриптор. Например, чтобы окружить все элементы span с классом foo дескрипторами strong, а все остальные элементы span - дескрипторами em, используем следующий код

$("span").wrap(function(){
			return $(this).is(".foo") ? "strong" : "<em>";
			});

HTML для данного кода
<!DOCTYPE HTML>
<html>
  <head>
    <title>jQuery test</title>
<script type="text/javascript" src="jquery.js"></script>
    <style>
    </style>
  </head>
  <body>
    <p>Hello World!</p>
    <p class="foo">Another paragraph, but this one has a class.</p>
    <p><span>This is a span inside a paragraph.</span></p>
    <p id="bar">Paragraph with an id.
        <span class="foo">And this sentence is in a span.</span>
    </p>
    <form action="#" method="post">
        <fieldset>
            <legend>Sign Up Form</legend>
            <label for="name">Name</label><br />
            <input name="name" type="text" /><br />
            <label for="password">Password</label><br />
            <input name="password" type="password" /><br /><br />
            <label>
                <input type="radio" name="loc" /> I'm on my computer
            </label><br />
            <label>
                <input type="radio" name="loc" checked="checked" />
                I'm on a shared computer
            </label><br /><br />
            <input type="submit" value="Log In" /><br />
            <label>
                <input type="checkbox" name="notify" disabled="true" />
                Keep me signed in on this computer
            </label><br />
        </fieldset>
    </form>
  </body>
</html>

Использую консоль FireFox.

К данному абзацу
<p><span>This is a span inside a paragraph.</span></p>

теги em добавляются, а вот к span.foo никакого strong скрипт добавлять не хочет.

Использую jQuery JavaScript Library v1.10.2

У меня есть подозрение, что книга слишком старая и что-то с 2011 года поменялось. Либо в книге присутствует опечатка.

Так ли это или есть какая-то другая причина?
Ответить с цитированием