2017-06-22 2 views
0


unter der Annahme, dass ich die Attribute einer Teilmenge einer Klasse (gleicher Klassenname) ändern müssen, zum Beispiel nur diejenigen, die eine unbestimmte href haben.
ich versucht, diesesJQuery - Ändern der Attribute einer Untergruppe einer Klasse

if(jQuery('.aaa').attr('href') === "undefined") 
{ 
    jQuery(this).css("cursor", "default"); 
    jQuery(this).removeAttr('href'); 
} 

ich das auch versucht, aber es nicht

jQuery(".aaa").filter(function(index) { 
    return jQuery(".aaa", this).attr('href') === "undefined"; 
    }).css("cursor", "default"); 

Irgendwelche Tipps funktioniert? Vielen Dank.

+0

Alles, was Sie tun müssen, ist master [jQuery Selektoren] (https: Wenn Sie leer oder blankem href Attribute, Test für die leere Zeichenfolge statt suchen //api.jquery .com/category/selectors /) und möglicherweise die Methode [.filter()] (https://api.jquery.com/?s=.filter). –

Antwort

0

Ich bin ziemlich sicher, der einzige Weg für href undefined zu sein, ist für das Attribut zu fehlen.

// classnames so you can see what matches what 
 
$('.aaa:not([href])').addClass('undefined'); 
 
$('.aaa[href=""]').addClass('empty');
.undefined{background-color:red} 
 
.empty {background-color:blue}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<a class="aaa">No href</a> 
 
<a class="aaa" href="">Empty href</a> 
 
<a class="aaa" href="#">Non-empty href</a> 
 
<a class="aaa" href>Bare href</a>

1

Vorausgesetzt, dass Sie die CSS von Anker, das href ändern wollen, ist undefined

jQuery(".aaa").filter(function(index) { 
    //return jQuery(this).attr('href') === "undefined"; 
    return this.href === undefined; 
}).css("cursor", "default"); 
+0

Danke, das ist, was ich sehe, die Seite inspizierend: 'TEXT' –

Verwandte Themen