Javascript 如何使用自定义属性触发某个按钮

Javascript 如何使用自定义属性触发某个按钮,javascript,jquery,Javascript,Jquery,我通过url获取变量。 我想使用类别id属性触发一个按钮: 我在获取url中的参数时没有问题。我唯一的问题是加载站点后如何触发按钮 感谢您的帮助。尝试使用以下方法: function getUrlVars() {     var vars = [], hash;     var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');     for(var i = 0;

我通过url获取变量。 我想使用类别id属性触发一个按钮:

我在获取url中的参数时没有问题。我唯一的问题是加载站点后如何触发按钮

感谢您的帮助。

尝试使用以下方法:

function getUrlVars()
{
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
    return vars;
}

$(document).ready(function() {
    var catVal = getUrlVars()["category_id"];
    $('a[category-id="' + catVal +'"]').click();
});

您可以通过如下属性查询特定的锚定标记来选择它

$(document).ready(function() {
    var button = $('a[category-id="' + your id from the url + '"]', '#categoryMenu');
    button.click(); //if your intention was to trigger the click event.
    button.trigger("some event name"); //if your intention was to trigger some other event.
});
如您所见,我将第二个参数传递给jQuery选择器。我这样做是为了将搜索范围缩小到id为“categoryMenu”的容器,以防止jQuery搜索整个DOM。这将使您在该选择器上获得更好的性能

所以我的建议是

将按钮放在包装div中,以便应用此技术

<div id="categoryMenu">
    <a class="cat-item" category-id="1" href="#">category 1</a>
    <a class="cat-item" category-id="2" href="#">category 2</a>
    <a class="cat-item" category-id="3" href="#">category 3</a>
    <a class="cat-item" category-id="4" href="#">category 4</a>
    <a class="cat-item" category-id="5" href="#">category 5</a>
</div>

参数与按钮的关系如何?您也可以给锚定标记一个id,然后使用id触发它。我不喜欢使用类别id之类的无效属性,尤其是当数据id之类的有效属性存在并且更有用时。谢谢大家,找到了我自己的方法。”$document.readyfunction{var queryString=getParameterByName'category_id';if queryString!={$'course-category li.cat item'.eachfunction i{if$this.attr'category-id'==queryString{$this.trigger'click'};}`Arrene Diez Cayoca您的解决方案在性能方面不是最好的。请尝试将属性选择器与第二个参数结合使用,以缩小查询选择器的范围。您不需要每个循环,我的选择器将更快。感谢您的解释。这很有帮助。