点击后获取href的顶级主机名

时间:2013-11-14 00:25:46

标签: javascript jquery html

我有一个链接,我想获得点击域名的顶级域名。 在我的例子中,我有

    <a href="http://www.example.com/this/that">click on this link</a>

当我点击它时,我想要一个警告说

www.example.com

我知道window.location.host为网站的实际位置做了这个,但我不知道如何为个人href做到这一点 我已经尝试过以下但是它会返回

    jQuery(document).on("click", "a", function (event) {
        event.preventDefault();
        var id = jQuery(this).attr('href') || 'nohref';
        alert(window.location.host);
        alert(id);
    });

http://www.example.com/this/that

而不是 www.example.com

实现这一目标的最佳方法是什么?

4 个答案:

答案 0 :(得分:3)

实际上它很简单,不需要正则表达式:

jQuery(document).on("click", "a[href]", function (event) {
    event.preventDefault();
    alert(this.hostname);
});

请参阅MDN - HTMLAnchorElement

我不确定它是否适用于Internet Explorer。

答案 1 :(得分:2)

尝试

jQuery(document).on("click", "a", function (event) {
    event.preventDefault();
    var id = jQuery(this).attr('href') || 'nohref';
    var domain = id.match(/http[s]?\:\/\/(.*?)[\/$]/)[1]
    alert(domain);
});

答案 2 :(得分:1)

var domain = jQuery(this).attr('href').match(/^https?:\/\/([^\/]+)/);
if (domain != null && typeof domain[1]!='undefined')
  domain = domain[1];
else
  domain = '';

答案 3 :(得分:0)

您可以尝试使用document.domain,虽然它不像window.location.host那样受到广泛支持。