javascript - jQuery .each 返回 TypeError : Cannot call method 'indexOf' of undefined

标签 javascript jquery each indexof

我想做的是在一个页面上找到所有包含 https 的链接,如果有,就做点什么。但是,当我使用控制台在 Chrome 中运行它时,出现类型错误:无法调用 null 的方法“indexOf”。我读过 SO 如果一个值返回为未定义,那么它会破坏函数。所以我想知道如何忽略没有 onclick 值的 https? (顺便说一句,我正在慢慢学习 javascript/jquery)。谢谢

$("a[href*='https:']").each(function(){
    var blah = $(this).attr('onclick');

    console.log(blah);

    if(blah.indexOf('_gaq') === 0){
        console.log('contains gaq');
    }
});

最佳答案

可以使用选择器

$("a[href*='https:'][onclick]")

仅选择 href 中同时具有“https”和“onclick”属性的 anchor 标记。

引用:Multiple Attribute Selector

关于javascript - jQuery .each 返回 TypeError : Cannot call method 'indexOf' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18838814/

相关文章:

javascript - Animate.css - 将 onmouseover 应用于 div 以添加类

javascript - 循环 json 对象并将值添加到现有 UL 元素

ruby-on-rails - order_by 在每个 rails 3.1 block 中

javascript - 如何在一系列数组中搜索特定匹配并显示结果

php - 提交(POST)后在 php 生成的表单中保留选择

javascript - Ionic3 需要重新加载才能显示 json

javascript - 使所有 float div 具有相同高度的脚本

javascript - 查询日期时间选择器无法在另一个函数调用中获取日期

javascript - 从解码的音频流中清理内存的正确方法(移动)

javascript - jQuery 根据元素数量增加数量