You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过特定ID或URL最后两段触发jQuery函数?

嘿,这两个需求都属于jQuery里很常见的场景,我给你分别写好代码并解释清楚:

问题1:当页面存在特定ID元素时触发函数

要检测页面中是否存在#furniture_features_03这个元素,我们可以利用jQuery的length属性来判断——如果元素存在,length会大于0,反之则为0。

代码示例:

// 确保DOM完全加载后再执行代码
$(document).ready(function() {
    // 检查目标元素是否存在
    if ($('#furniture_features_03').length > 0) {
        alert("furniture_features_03 is in this page");
    }
});

小贴士:别直接用if($('#furniture_features_03'))来判断,因为即使jQuery没找到元素,也会返回一个空的jQuery对象,在条件判断里会被视为true,导致判断不准确。用length才是最可靠的方式。

问题2:当URL包含特定路径时触发函数

有两种实现方式,你可以根据需求选择:

方式1:直接检测路径是否包含目标片段

适合只要URL里有/furniture/bills就触发的场景:

$(document).ready(function() {
    // 获取当前页面的路径部分(域名之后的内容)
    const currentPath = window.location.pathname;
    // 判断路径是否包含目标字符串
    if (currentPath.includes('/furniture/bills')) {
        alert("You're on the furniture bills page!");
    }
});

如果需要兼容非常老旧的浏览器(比如IE8及以下),可以把includes()换成indexOf():

if (currentPath.indexOf('/furniture/bills') !== -1) {
    alert("You're on the furniture bills page!");
}

方式2:精准匹配URL最后两段

如果要求必须是URL的最后两段是furniture和bills,可以把路径拆分成数组来判断:

$(document).ready(function() {
    const currentPath = window.location.pathname;
    // 把路径拆分成片段,过滤掉空字符串(比如开头的斜杠会产生空元素)
    const pathSegments = currentPath.split('/').filter(seg => seg !== '');
    
    // 检查数组长度至少为2,且倒数第二段是furniture,最后一段是bills
    if (pathSegments.length >= 2 && 
        pathSegments[pathSegments.length - 2] === 'furniture' && 
        pathSegments[pathSegments.length - 1] === 'bills') {
        alert("You're on the furniture bills page!");
    }
});

这种方式更严谨,比如/shop/furniture/bills会触发,但/furniture/bills/abc就不会,完全符合“最后两段”的需求。

内容的提问来源于stack exchange,提问作者LearnProgramming

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 05:13:44