2016-06-16 3 views
0

Ich versuche, einen Bereich auszuwählen, wenn es unter bestimmten Bedingungen passt. Das erste Kriterium ist Inline-CSS, die style="width:0% !important;" Zweitens ist Spannweite Text, derJQuery-Selektor basierend auf Inline-CSS-Stil oder span-Text

<span class="bv-rating-label"> (0) </span> 

ist hier komplette HTML-Code:

<div class="bv-inline-rating-container"> 
<dl class="bv-stars-container" role="presentation"> 
    <dd class="bv-rating-ratio" role="presentation"> 
     <span class="bv-rating-stars-container"> 
      <span class="bv-rating-stars bv-rating-stars-off" aria-hidden="true"> ★★★★★ </span> 
      <span class="bv-rating-stars-on bv-rating-stars" style="width:0% !important;" aria-hidden="true"> ★★★★★ </span> 
     </span> 
    </dd> 
    <dd class="bv-rating-ratio-count" role="presentation"> 
     <span class="bv-rating-label"> (0) </span> 
    </dd> 
</dl> 

Hier sind einige Optionen, die ich versuchte. Option 1:

jQuery(".bv-rating-label:contains(' (0) ')").hide(); 

Option 2:

jQuery('.bv-rating-stars-on.bv-rating-stars[style*="width:0% !important"]).hide(); 

Keine der oben genannten Optionen gearbeitet:/

+0

Ihre erste Option selbst funktioniert gut. Überprüfe den Plunker. https://plnkr.co/edit/l50wCt1vXBYoINcgJ76I?p=preview – Deep

+0

Es ist nicht klar, was Sie fragen und welche Spanne (oder Spannen?) Sie aus Ihrer zitierten Struktur auswählen möchten. –

+0

Hey tief. Vielen Dank für Ihre Antwort. Du hast recht. Diese Option hat funktioniert. Ich musste nur jQuery etwas ändern. 'jQuery (". Bv-rating-label: enthält ('(0)') "). Attr (" style "," display: none! Wichtig ")' – izulito

Antwort

-1

Ich denke, es diffent sein könnte. Die Verwendung der Klasse ist allgemeiner. Warum benutzt du keine ID?

$('#yourId').hide(); 

Aber wenn Sie eine Klasse innerhalb des anderen nutzen möchten, es ist auch möglich:

$('.yourclass.innerClass').hide(); 

Dann können Sie Tris Beispiele unten probieren:

$('.bv-rating-stars-on, .bv-rating-stars[style="width:0%!important"]').hide(); 
$('.bv-rating-ratio-count .bv-rating-label').hide(); 
$('.bv-rating-stars-container .bv-rating-stars').hide(); 

Mit freundlichen Grüßen

+0

Hey Jeff, ich habe keinen Zugriff auf edit HTML, das ist das Problem. Ansonsten würde ich gerne diese Option nutzen. – izulito

+0

Ich habe diese Beispiele für Sie gemacht: $ ('. Bv-rating-stars-on, .bv-rating-stars [style = "width: 0%! Wichtig"]'). Hide(); $ ('. Bv-rating-ratio-count .bv-rating-label'). Hide(); $ ('. Bv-rating-sterne-container .bv-rating-stars'). Hide(); –

0

Ich stelle deine Frage in eine .

Ich konnte die Elemente basierend auf ihren jeweiligen Attributen und dem Textwert, den sie enthalten, ausblenden.

Wenn Sie nicht wollen, auf die JSFiddle gehen, hier ist das, was ich habe:

HTML:

<div class="bv-inline-rating-container"> 
<dl class="bv-stars-container" role="presentation"> 
    <dd class="bv-rating-ratio" role="presentation"> 
     <span class="bv-rating-stars-container"> 
      <span class="bv-rating-stars bv-rating-stars-off" aria-hidden="true"> ★★★★★ </span> 
      <span class="bv-rating-stars-on bv-rating-stars" style="width:0% !important;" aria-hidden="true"> ★★★★★test </span> 
     </span> 
    </dd> 
    <dd class="bv-rating-ratio-count" role="presentation"> 
     <span class="bv-rating-label"> (0) </span> 
    </dd> 
</dl> 

jQuery:

$(document).ready(function() { 
    $(".bv-rating-label:contains('(0)')").hide(); 
}); 

$(document).ready(function() { 
    $(".bv-rating-stars-on, .bv-rating-stars[style='width:0% !important']").hide(); 
}); 

Ich hoffe, das hilft.