Пожалуйста, помогите мне настроить этот код ... не могу понять, что его нарушает!(Нужно добавить ссылки через jQuery) - PullRequest
0 голосов
/ 24 ноября 2010

Я думаю, что я почти понял, но я новичок в jQuery и, должно быть, не замечаю, в чем проблема.

Вот мой код.

// <![CDATA[

var root = null;

$(document).ready( function(){

    $.get( "/_assets/xml/sitemap.xml", 
        function( data ) {
            root = data;
            var pathname = window.location.pathname;

            var local_url = "*[url=" + pathname + "]";
            var currpage = $(root).find(local_url).attr("name");
            var parentEls = $(root).find(local_url).parents();

            var mapped = $(parentEls).map(function () { 
                  var element = $(this).attr("name");
                  var element_url = $(this).attr("url");
                  var element_wrap = $(element).wrap('<a href=' + element_url + '/>');
                  return element_wrap; 
                    })
                .get()
                .reverse()
                .join(" / ");

            $("#breadcrumb").append("<p>" + mapped + " / " + currpage + "</p>");

        } );
} );

// ]]>

Вот где у меня проблемы:

var mapped = $(parentEls).map(function () { 
                  var element = $(this).attr("name");
                  var element_url = $(this).attr("url");
                  var element_wrap = $(element).wrap('<a href=' + element_url + '/>');
                  return element_wrap; 
                    })

Я пытаюсь обернуть каждый элементтег <a> и присвойте href = element_url.Но я продолжаю получать ошибки.Кто-нибудь может увидеть исправление?Спасибо!

Ответы [ 2 ]

2 голосов
/ 24 ноября 2010

Быстрый удар по нему:

var element_wrap = $(element).wrap('<a href="' + element_url + '" />');

Изменение заключается в двойных кавычках - вы создали строку, подобную этой:

<a href=http://somewhere.come />

но вы хотели

<a href="http://somewhere.come" />

0 голосов
/ 24 ноября 2010

Есть еще одна проблема:

var element = $(this).attr("name");

возвращает строку, которую вы пытаетесь использовать в качестве селектора ... $(element).Я предполагаю, что он не может найти какие-либо теги для переноса.

Вам не нужна эта строка вообще.Просто замените $(element).wrap на $(this).wrap

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...