【问题标题】:jQuery target generic class item but unique href with trigger clickjQuery 目标通用类项,但具有触发单击的唯一 href
【发布时间】:2014-06-30 00:01:56
【问题描述】:

我正在尝试根据是否将哈希值附加到 url unload 来定位具有唯一 href 值的通用项目类我想模拟通常在页面上发生的点击。

jQuery:

if(window.location.hash) {
    var hash = window.location.hash;
    function showHashVideo() {
        jQuery("a.btn").attr("href", hash).trigger('click');
    }
    jQuery(showHashVideo);
}

HTML:

<a class="btn btn-mini" href="#help-video-modal-Graphing" data-url="video-url" data-title="Graphing">Watch Video</a>

【问题讨论】:

    标签: javascript jquery hash triggers


    【解决方案1】:

    据我所知,您希望找到与 A 元素匹配的元素 HREF。你可以这样做:

    jQuery("a.btn[href='" + hash + "']").trigger("click");
    

    这将触发对a.btnhref=hash 的点击。

    【讨论】:

    • 您好,点击事件似乎没有发生。当页面加载时,它只是显示它处于相同的状态。
    • 我必须定位按钮的包装器 div,然后将重新加载页面的函数附加到此查询的末尾,但它确实最终起作用了。感谢您的帮助。
    【解决方案2】:

    jQuery 触发器不会触发 DOM 事件点击,所以你必须这样做。

    jQuery("a.btn").attr("href", hash).get(0).click()
    

    你需要使用Attribute-Equals-SelectorjQuery( "[attribute='value']" )

    jQuery('a.btn[href="' + hash + '"]').get(0).click();
    

    【讨论】:

    • +1 即使我不同意don't wrap it with jQuery,这取决于调用 sn-p 的位置/时间。如果你不使用jQuery 包裹它,那么 DOM 可能没有完全加载
    • @A.Wolff 刚刚注意到它可以调用这样的函数:P。我会删除它
    • 这会将页面上的所有按钮更改为哈希值。我希望从 url 中获取哈希值,然后在页面的 onload 模拟单击​​页面上的该按钮,该按钮将加载该视频,就像我点击它一样..
    • @esternle 哦,我明白了,那是我的答案和 Niels 之间的混合,我会尽快更新答案
    • 嗨,似乎不会触发点击页面加载。有错误:TypeError: 'undefined' is not an object (evalating 'jQuery('a.btn[href="' + hash + '"]').get(0).click')
    猜你喜欢
    • 1970-01-01
    • 2011-07-03
    • 1970-01-01
    • 2019-12-07
    • 1970-01-01
    • 2016-01-24
    • 2019-05-11
    • 2010-11-27
    • 1970-01-01
    相关资源
    最近更新 更多