захватить диапазон текста с помощью jquery и передать как запрос - PullRequest
0 голосов
/ 08 февраля 2012
<span class="MapDirections" style="padding-top:10px">
                                        <span class="HosAddHidden" style="display:none;">
                                            <xsl:value-of select="concat(@ADDRESS_LINE_1,',',@CITY,' ',@STATE,' ',@ZIP)" />
                                            </span>
                                        <a href="http://maps.google.com/maps?q=">Maps &#38; Directions</a>
</span>

Как получить текст класса HosAddHidden класса span, представляющий собой некоторый адрес, и передать его на URL-адрес карты следующим образом:

<a href="http://maps.google.com/maps?q=" onclick="location.href=...." return false;>Maps and directions</a>

Ответы [ 2 ]

1 голос
/ 08 февраля 2012

Я вижу из вашего ответа выше, что у вас есть несколько HosAddHidden.Если за каждым из них следует якорь, которым вы хотите манипулировать (как в примере выше), вы хотите перебрать каждый из скрытых адресов и изменить href якоря, следующего за ним.Вот, пожалуйста:

$('.HosAddHidden').each(function(index) {
    $(this).next().attr('href', 'http://maps.google.com/maps?q='+$(this).text());
});

Обратите внимание, что это не по щелчку, а должно выполняться, когда DOM загружает и меняет все якоря для вас.Преимущество в том, чтобы не ставить его на клик, заключается в том, что реальный href уже был изменен, поэтому кто-то может щелкнуть правой кнопкой мыши на якоре и скопировать его, открыть в новой вкладке и т. Д.

0 голосов
/ 08 февраля 2012

Попробуйте вместо этого использовать встроенный обработчик кликов.Вы можете использовать text(), чтобы получить текст из диапазона, который вы можете выбрать, используя .HosAddHidden селектор класса.

$('a').click(function(e){
    e.preventDefault();
    location.href = $(this).href + $.trim($('.HosAddHidden').text());
});
...