如何将HREF属性添加到<a> links with jQuery and is href always needed?</a>

时间:2012-02-17 08:32:03

标签: jquery html

我有以下内容:

<div class="style-switcher"  id="colorChanger">
    <a style="background-color: #FFFFFF;" data-style="arctic" title="Arctic"></a>
    <a style="background-color: #F2F2F2;" data-style="aristo" title="Aristo"></a>

我使用此代码允许我更改样式。我所做的是运行以下代码添加点击事件

    $('.style-switcher a').retheme({
            baseUrl: '/Content/Themes-jQuery',
            themeName: 'jquery-ui-1.8.17.custom.css',
            loadingImg: '/Scripts/user/styles/img/loading.gif',
            delay: 500
            }, function () {
                var theme = $(this).attr('href');
                }
            );

最初我在每个链接中都包含了href =“#”。你能告诉我,即使链接不是真正用于任何地方,我总是需要这样做。

如果我确实需要它,那么我可以用jQuery添加它而不是在每个样式行输入href =“#”吗?

4 个答案:

答案 0 :(得分:1)

是的,你应该使用href属性来显示在css中设置样式的锚。

$(function(){$("a").attr({
    href: "javascript:void(0)"})
});

$(function(){
   $("a").attr({href: "#"})
});

答案 1 :(得分:1)

来自W3C Docs

  

href属性使此锚点成为一个链接的源锚点。   作者还可以创建一个不指定锚点的A元素,即不指定href,name或id的A元素。可以稍后通过脚本设置这些属性的值。

你有它。至于如何w / jQuery:

$('a').attr('href', '#');

......或者你想要设置它的任何东西。

干杯

答案 2 :(得分:1)

您可以通过“prevenDefault”删除正常行为。

$('.style-switcher a').click(function(e){
       e.preventDefault();
       // your javascript here.
})

答案 3 :(得分:0)

该属性不是必需的。如果您决定使用它,可以使用.attr()使用jQuery进行设置。根据浏览器的不同,某些视觉样式不会应用于没有HREF属性的A元素。这可以通过CSS轻松修复,但值得注意。

以下是如何在没有HREF属性的情况下检查所有A元素的文档并设置它:

$('a:not([href])').attr('href', '#');