$(".container").on("click", function(e) {
e.preventDefault();
var currentBox = $(this).siblings(".map").toggleClass("active");
$(".map.active").not(currentBox).removeClass("active");
});
因此我不能再使用href
了。
我使用jquery来显示更多链接。
答案 0 :(得分:2)
您似乎正在尝试使用div
和p
类似锚(a
)。 href is not a valid attribute of div
或p
。
如果您尝试在div
和p
标记中存储数据,请将data-href=""
与window.open()
根据提供的有限代码,我的猜测是你尝试做这样的事情:
$(".container").on("click", function(e) {
e.preventDefault();
const $this = $(this);
$(".map.active").removeClass("active");
$this.siblings(".map").toggleClass("active");
let href = $this.attr("data-href");
// Open a new window
window.open(href);
// OR
// Navigate without opening new window
window.location.href = href;
});
或者,你可以一起跳过jQuery,只需使用锚标签,因为它们被设计为可以使用。
答案 1 :(得分:-1)
您可以使用jQuery获取元素的任何属性。因此,如果您想使用href
,请执行以下操作:
var new_location = $('a').attr('href');
因此,您可以点击a
代码并至少重定向到href
路径,通过以下方式执行任何操作:
window.location.href = $(this).attr('href');
注意: $(this)
指向当前点击的a
标记。所以你有这样的事情:
$(".container").on("click", function(e) {
e.preventDefault();
var currentBox = $(this).siblings(".map").toggleClass("active");
$(".map.active").not(currentBox).removeClass("active");
window.location.href = $(this).attr('href');
});