如何在 JQuery 中格式化 URL.Action() 调用以设置链接的 href 属性?

发布于 2024-11-16 00:48:32 字数 350 浏览 2 评论 0原文

我需要设置链接的 href 属性以指向特定图像,该图像将数据库中的 id 设置为其标题。但是,我在尝试格式化字符串以包含获取图像标题属性的调用时遇到问题。

这是基本字符串:

$("#favoriteLink").hover(function() {
    $(this).attr("href", '<%: Url.Action("FavoriteWallpaper", "Wallpaper", new{wallpaperId='+$(this).children.attr("title")+'}) %>');
});

favoriteLink 是一个 div,子元素只是一张图像。

I need to set the href attribute of a link to point to a specific image, which has its id from the database set as its title. However, I am having trouble with trying to format the string to include a call to get the title attribute of the image.

Here is the base string:

$("#favoriteLink").hover(function() {
    $(this).attr("href", '<%: Url.Action("FavoriteWallpaper", "Wallpaper", new{wallpaperId='+$(this).children.attr("title")+'}) %>');
});

favoriteLink is a div and the child is just one image.

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

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

发布评论

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

评论(2

甜心 2024-11-23 00:48:32

哦,不,您不能像您尝试的那样混合服务器端代码和 javascript。这个怎么样:

$('#favoriteLink').hover(function() {
    var title = $(this).children.attr('title');
    $(this).attr('href', function() {
        var url = '<%= Url.Action("FavoriteWallpaper", "Wallpaper", new { wallpaperId= "_TITLE_TO_REPLACE_"}) %>';
        return this.href.replace('_TITLE_TO_REPLACE_', title);
    });
});

Oh no, you can't mix server side code and javascript as you are trying to. How about this:

$('#favoriteLink').hover(function() {
    var title = $(this).children.attr('title');
    $(this).attr('href', function() {
        var url = '<%= Url.Action("FavoriteWallpaper", "Wallpaper", new { wallpaperId= "_TITLE_TO_REPLACE_"}) %>';
        return this.href.replace('_TITLE_TO_REPLACE_', title);
    });
});
眼波传意 2024-11-23 00:48:32

您的 URL.Action 在服务器端呈现,而您的 javascript 客户端呈现。当您尝试构建链接时,您将无法访问 dom 元素。

您应该获取 URL.Action 中呈现的实际 URL 并构建客户端字符串

You're URL.Action is rendered serverside and your javascript client-side. You wont have access to dom elements when you're trying to build the link.

You should get the actual URL thats rendered in URL.Action and build the string client-side

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