2012-02-08 70 views
0
<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文本是一些地址,并把它传递给地图网址是这样的:抢跨度文本

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

$(“ HospitalAddressHidden”)。每个(函数(指数){ \t \t \t变种LocationAddress = $(本)的.text(); \t \t \t $()丙(的 “href ”函数(指数,oldHref){ “ MapDirections>一个。”。 \t \t返回oldHref + LocationAddress; \t \t \t}); \t \t \t \t \t});的 – 2012-02-08 15:59:34

+0

可能重复的[在一个跨度类捕获地址值,并将它传递到谷歌地图的URL作为查询字符串](http://stackoverflow.com/questions/9195419/capture-address-value-in-a-span-class-and -pass-it-to-google-map-url-as-querystri) – 2012-02-08 16:14:16

回答

1

从上面的回复可以看出,您有多个HosAddHidden。提供每一个后面要处理(如你上面的例子)锚,你要循环的每个隐藏的地址和改变锚的href下它。在这里你去:

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

注意,这是不是一个onclick,而是应该运行DOM负载和变化的所有锚你的时候。不要把它放在一个onclick的好处是实际的HREF已经改变,所以有人可以用鼠标右键单击该锚和复制它,在新标签页中打开,等

+0

非常感谢! – 2012-02-08 16:12:50

+0

不客气! – rgthree 2012-02-08 16:38:36

0

试试这个上使用内联点击处理程序。您可以使用text()来获取跨度文本,您可以使用.HosAddHidden类选择器来选择该文本。

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