jQuery .search()抛出一个错误

时间:2014-11-05 19:10:19

标签: jquery search

我正在尝试使用jQuery和.search()函数遍历页面上的所有锚标记,如果它有一个特定的url,则为Foundation 5模态添加数据显示属性。代码完成它应该做的事情,但它抛出一个错误。此错误使得脚本不能被调用。任何有关此事的见解将不胜感激

执行此操作时,我收到一条错误消息:未捕获TypeError:无法读取未定义的属性'search'

这是我正在使用的脚本:

<script>
  $(document).ready(function(){
    $('a').each(function(){
      var currLink = $(this).attr('href').search(/oamedia.html/i);
      if (currLink != -1) {
        $(this).attr('data-reveal-id', 'videoModal')
        $(this).attr('href', '#');
      };
    });
  });
</script>

1 个答案:

答案 0 :(得分:2)

如果属性不存在,问题是attr会返回undefined。您需要一个空字符串'',而不是undefined。幸运的是,jQuery的prop函数与href属性完全相同:

var currLink = $(this).prop('href').search(/oamedia.html/i);