向生成的 URL 添加锚点

发布于 2024-07-17 09:47:32 字数 845 浏览 3 评论 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>

预先感谢您的帮助。

稻田

I have tried finding a simialr example and using that to answer my problem, but I can't seem to get it to work, so apologies if this sounds similar to other problems.

Basically, I am using Terminal Four's Site Manager CMS system to build my websites. This tool allows you to generate navigation elements to use through out your site.

I need to add a custom bit of JS to append to these links an anchor.

The links generated are similar to this:

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

I can edit the css properties of the link, but I can't figure out how to add an anchor.

The JQuery I am using is as follows:

<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>

Thanks in advance for any help.

Paddy

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

提笔书几行 2024-07-24 09:47:32

有点像这样的重复:
如何使用 jQuery 更改超链接的 href

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

var link = $(this).children("a").attr("href");
$(this).children("a").attr("href", link+ "your own stuff");

sort of duplicate of this:
How to change the href for a hyperlink using jQuery

just copy the old href and add anchor to it and paste that back

var link = $(this).children("a").attr("href");
$(this).children("a").attr("href", link+ "your own stuff");
不美如何 2024-07-24 09:47:32

一个很好的基于 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”附加到末尾。

希望这可以帮助!

A nice jQuery-based method is to use the .get(index) method to access the raw DOM element within your each() function. This then gives you access to the JavaScript link object, which has a property called 'hash' that represents the anchor part of a url. So amending your code slightly:

<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";
        });

    });

Would change all the links in "#tab_menu li" to red, and attach "#boom" to the end.

Hope this helps!

泡沫很甜 2024-07-24 09:47:32

我现在可以使用以下内容来定位 html:

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

我假设:

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

会编辑 href 但我错了。

稻田

I can now target the html by using the following:

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

I assumed that:

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

would edit the href but I am wrong.

Paddy

赴月观长安 2024-07-24 09:47:32

我不确定答案,我不尝试

$("#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);
    });

I am not sure for the answer, I dint try

$("#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);
    });
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文