动态地将数据锚添加到url

时间:2017-03-20 16:19:22

标签: jquery

我有一个带文字的html页面。在文本中我有很多锚点:

<a href="#" data-brand="Ford">Ford</a> 
<a href="#" data-type="Mustang">Mustang</a>.

在文本的最后,我有一个链接到外部来源,如:

http://example1.com

通过单击文本中的锚点,我需要将此锚点添加到外部链接。

http://example1.com/?data-brand=ford&data-type=Mustang
你可以帮帮我吗?非常感谢。

1 个答案:

答案 0 :(得分:2)

通常情况下,您需要至少展示自己尝试的内容,请求一般性建议超出本网站的范围。尽管如此,我对这个任务感兴趣,所以这就是我到目前为止所做的:

<script src="jquery.js"></script>
<script>
    $('a[href="#"]').click(function() {
        $.each($(this).data(), function (type, val) {
            $('#external_links').children("a").each(function() {
                var href = $(this).attr('href');
                if (href.indexOf('?') > -1)
                {
                    $(this).attr('href', href+'&data-'+type+'='+val);
                } else {
                    $(this).attr('href', href+'?data-'+type+'='+val);
                }
            });
        });
    });
</script>
<span id="external_links">
    <a href="http://example1.com">Test1</a>
    <a href="http://example2.com">Test2</a>
    <a href="http://example3.com">Test3</a>
    <a href="http://example4.com">Test4</a>
</span>

该功能仅编辑external_links容器中包含的锚点。