0

我试图找到一个类似的例子并用它来回答我的问题,但我似乎无法让它工作,所以如果这听起来与其他问题相似,我深表歉意。

基本上,我使用 Terminal Four 的 Site Manager CMS 系统来构建我的网站。此工具允许您生成导航元素以在整个站点中使用。

我需要添加一些自定义的 JS 来为这些链接附加一个锚点。

生成的链接类似于:

<ul id="tab-menu">
<li><a href="/section/page">test link, can i rewrite and add an anchor!!!</a></li>
</ul>

我可以编辑链接的 css 属性,但我不知道如何添加锚点。

我使用的 JQuery 如下:

<script type="text/javascript" src="http://jquery.com/src/jquery-latest.pack.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
    // everything goes here

    $("#tab-menu").children("li").each(function() { 
        $(this).children("a").css({color:"red"});

        });

    });
</script>

提前感谢您的帮助。

稻田

4

4 回答 4

3

有点重复: How to change the href for a hyperlink using jQuery

只需复制旧的href并为其添加锚并将其粘贴回来

var link = $(this).children("a").attr("href");
$(this).children("a").attr("href", link+ "your own stuff");
于 2009-04-28T08:49:41.643 回答
1

一个不错的基于 jQuery 的方法是使用 .get(index) 方法来访问 each() 函数中的原始 DOM 元素。然后,您可以访问 JavaScript 链接对象,该对象有一个名为“hash”的属性,表示 url 的锚部分。所以稍微修改你的代码:

<script type="text/javascript">
    $(document).ready(function(){
    // everything goes here

        $("#tab-menu").children("li").children("a").each(function() {   
            $(this).css({color:"red"}).get(0).hash = "boom";
        });

    });

将“#tab_menu li”中的所有链接更改为红色,并将“#boom”附加到末尾。

希望这可以帮助!

于 2009-04-28T09:07:01.057 回答
0

我现在可以使用以下命令来定位 html:

$(this).children("a").html("it works");

我假设:

$(this).children("a").href("something");

会编辑href,但我错了。

稻田

于 2009-04-28T08:50:26.447 回答
0

我不确定答案,我尝试

$("#tab-menu").children("li").children("a").each(function() {   
              //  $(this).css({color:"red"}).get(0).hash = "boom";
            var temp_url = $(this).href +'#an_anchor';//or var temp_url = $(this).attr('href');
          $(this).attr('href', temp_url);
    });
于 2009-09-15T18:24:24.097 回答