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

当URL含ccm_order_by_direction=desc时,为分页链接添加&#filterTop参数

解决方案:给含指定参数的链接添加锚点参数

JavaScript 实现方案

你之前的代码存在几个问题:getElementsByClassName不需要加.前缀,且它返回的是元素集合,不能直接修改href属性,需要遍历每个元素;另外无需引入PHP变量,直接处理页面上每个链接的href即可。

jQuery 版本

$(document).ready(function() {
    // 检查当前页面URL是否包含目标参数
    if (window.location.href.includes('ccm_order_by_direction=desc')) {
        // 遍历所有.page-link链接
        $('.page-link').each(function() {
            let href = $(this).attr('href');
            // 仅处理已包含目标参数的链接
            if (href.includes('ccm_order_by_direction=desc')) {
                // 避免重复添加参数
                if (!href.includes('#filterTop')) {
                    $(this).attr('href', href + '&#filterTop');
                }
            }
        });
    }
});

原生 JavaScript 版本

如果不想依赖jQuery,可以用原生JS实现:

document.addEventListener('DOMContentLoaded', function() {
    if (window.location.href.includes('ccm_order_by_direction=desc')) {
        const links = document.querySelectorAll('.page-link');
        links.forEach(link => {
            let href = link.href;
            if (href.includes('ccm_order_by_direction=desc') && !href.includes('#filterTop')) {
                link.href = href + '&#filterTop';
            }
        });
    }
});

PHP 实现方案

如果能通过后端代码处理(比如在输出链接前修改),可以用URL解析函数来确保参数添加正确:

// 假设$originalHref是后端生成的链接地址
$originalHref = "/switches-damper-arm-tilt-tip-over-limit?ccm_paging_p=2&ccm_order_by=popular&ccm_order_by_direction=desc";

// 解析URL
$urlParts = parse_url(html_entity_decode($originalHref));
parse_str($urlParts['query'] ?? '', $params);

// 检查是否包含目标参数
if (isset($params['ccm_order_by_direction']) && $params['ccm_order_by_direction'] === 'desc') {
    // 拼接锚点参数(注意处理实体编码)
    if (strpos($originalHref, '#filterTop') === false) {
        $originalHref .= '&#filterTop';
    }
}

// 输出处理后的链接
echo "<a class='page-link' href='{$originalHref}'>2</a>";

效果验证

处理后页面上的链接会从:

<li class="page-item">
  <a class="page-link" href="/switches-damper-arm-tilt-tip-over-limit?ccm_paging_p=2&amp;ccm_order_by=popular&amp;ccm_order_by_direction=desc">2</a>
</li>

变为:

<li class="page-item">
  <a class="page-link" href="/switches-damper-arm-tilt-tip-over-limit?ccm_paging_p=2&amp;ccm_order_by=popular&amp;ccm_order_by_direction=desc&amp;amp;#filterTop">2</a>
</li>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 08:25:20