2014-11-05 89 views
1

我想要使用jQuery和.search()函數循環瀏覽頁面上的所有錨定標記,並且如果它具有特定的url,請添加一個data-reveal屬性基金會5模式。代碼完成它應該做的事情,但它會拋出一個錯誤。這個錯誤是讓腳本在它下面被調用。任何瞭解此事,將不勝感激jQuery .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> 
+0

你在'$獲得(這).attr( 'href' 屬性)'? – Avinash 2014-11-05 19:15:11

回答

2

問題是如果該屬性不存在,attr返回undefined。您需要一個空字符串'',而不是undefined。幸運的是,jQuery的prop功能正是這麼做的href屬性:

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

這工作就像一個魅力。你是一個救星!謝謝! – 2014-11-05 19:22:31