如何在JQUERY中点击重写网址? (JQuery的)

时间:2014-08-27 10:59:03

标签: javascript jquery html css frontend

我有4个div,点击后会转到URL ...

问题:点击 div winkel_name 后,页面会被重定向,并附带其他详细信息。例如:商店页面位置为:www.rootdomain / store / ...

点击div winkel_hover后,它会转到 www.rootdomain // store / storename / 我怎样才能重写和清理此输出的网址:www.rootdomain / store / storename?

<div class="winkel_hover">
   <table width="100%" height="100%">
                <tr>
                    <td valign="middle">
                        <div class="winkel_name">
                            <h2><a href="<?=$arItem["CODE"]?>"><?=$arItem['NAME']?></a></h2>
                        </div>
                    </td>
                </tr>
   </table>
</div>
<div class="winkel_name">
     <h2><a href="s-hertogenbosch"><font><font class="">'S-Hertogenbosch</font></font></a></h2>
</div>

虽然为winkel_hover制作网址的javascript是这个......

<script type="text/javascript">
$('.winkel_hover').click(function(){
    var winkel_url = $(this).find('.winkel_name a').attr('href');
    window.location.href = winkel_url;
});
</script>

请帮我清理我的网址:www.rootdomain / store / storename?

4 个答案:

答案 0 :(得分:0)

试试这个:

<script type="text/javascript">
   $('.winkel_hover').click(function(){
      var winkel_url = $(this).find('a').attr('href');
      window.location.href = winkel_url.substring(1);
   });
</script

答案 1 :(得分:0)

消毒功能怎么样?

function sanitise(url) {
  out = url.replace('//', '/').split('');
  out.pop();
  return out.join('');
}

<强> USAGE

var winkel_url = sanitise($(this).find('a').attr('href'));

DEMO

答案 2 :(得分:0)

试试这个:

$(document).ready(function()
{
   $('.winkel_hover a').click(function(e){
        e.preventDefault();
        var winkel_url = $('.winkel_hover .winkel_name a').attr('href');
        window.location.href = winkel_url;
    });
});

至于消毒,我不会做客户端,因为如果有人稍微尝试它可能会无效。确保清理任何get参数服务器端。

答案 3 :(得分:-1)

第一眼看,我看不出为什么它有额外的斜线。确保你的href在开头不包含斜杠,例如'url'而不是'/ url';

作为'黑客'解决方案,您可以将其删除: $(this).find('。winkel_name a')。attr('href')。replace('/','');