我需要将链接的href属性设置为指向特定图像,该图像的ID来自数据库集的标题。但是,我在尝试格式化字符串以包含调用以获取图像的title属性时遇到问题。
这是基本字符串:
$("#favoriteLink").hover(function() {
$(this).attr("href", '<%: Url.Action("FavoriteWallpaper", "Wallpaper", new{wallpaperId='+$(this).children.attr("title")+'}) %>');
});
favoriteLink是一个div,孩子只是一个图像。
答案 0 :(得分:3)
哦不,你不能混合使用服务器端代码和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);
});
});
答案 1 :(得分:0)
你是URL.Action呈现在服务器端和你的javascript客户端。当您尝试构建链接时,您将无法访问dom元素。
您应该获取在URL.Action中呈现的实际URL并构建字符串客户端