jQuery不允许我使用href

时间:2018-01-03 16:28:55

标签: javascript jquery html

$(".container").on("click", function(e) {
    e.preventDefault();
    var currentBox = $(this).siblings(".map").toggleClass("active");
    $(".map.active").not(currentBox).removeClass("active");
});

enter image description here

因此我不能再使用href了。 我使用来显示更多链接。

2 个答案:

答案 0 :(得分:2)

您似乎正在尝试使用divp类似锚(a)。 href is not a valid attribute of divp

如果您尝试在divp标记中存储数据,请将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');
});