2017-03-02 67 views
1

如何檢查元素是否有一個像HTTP或HTTPS並不僅僅是#如何檢查元素是否具有正確的URL,而不僅僅是#

例如

1. <a href="http://example.com">Has a URL</a> 
2. <a href="https://example.com">Has a URL</a> 
3. <a href="#">Has no proper URL</a> 
4. <a href="http://example.com/#my-div">Has a URL and also a hash</a> 

我嘗試了正確的URL包含選擇,它不會像

jQuery(document).ready(function($) { 
    if($('.nav-res-navigation li a').is('[href*="#"]')){ 
     $('.nav-res-navigation li a').css('background', 'red'); 
    }; 
    }); 

我只是想檢查href具有#工作(沒有URL)或不

回答

3

您可以使用屬性選擇直接與它們匹配:

$('.nav-res-navigation li a[href="#"]').addClass('foo');
.foo { color: red; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<ul class="nav-res-navigation"> 
 
    <li> 
 
    <a href="http://example.com">Has a URL</a> 
 
    <a href="https://example.com">Has a URL</a> 
 
    <a href="#">Has no proper URL</a> 
 
    <a href="http://example.com/#my-div">Has a URL and also a hash</a> 
 
    <a href="#">Has no proper URL</a> 
 
    </li> 
 
</ul>

我怎樣才能使它在if/else語句一樣,如果$('。nav-res-navigation li a [href =「#」]')爲true,addClass爲另一個元素

要做到這一點檢查選擇的length屬性:

if ($('.nav-res-navigation li a[href="#"]').length) { 
    $('.some-other-element').addClass('foo'); 
} 
+0

感謝。我如何在if/else語句中使它成爲如$('。nav-res-navigation li a [href =「#」]')爲true,addClass爲另一個元素。 – Ayanize

+0

沒問題。我爲你更新了答案 –

0

可以檢索屬性href的值,然後檢查字符串匹配:

var url = $('.nav-res-navigation li a').attr('href'); 

if (url === '#') { ... 
相關問題