2016-04-10 17 views
1
<div class="image"> 
<img id="img-1" src="https://cdn0.vox-cdn.com/images/verge/default-avatar.v9899025.gif" /> 
<img id="img-2" src="https://cdn0.vox-cdn.com/images/verge/default-avatar.v9899025.gif" /> 
<img id="img-5" src="https://cdn0.vox-cdn.com/images/verge/default-avatar.v9899025.gif" /> 
<img id="img-15" src="https://cdn0.vox-cdn.com/images/verge/default-avatar.v9899025.gif" /> 
<img id="img-25" src="https://cdn0.vox-cdn.com/images/verge/default-avatar.v9899025.gif" /> 
<img id="img-35" src="https://cdn0.vox-cdn.com/images/verge/default-avatar.v9899025.gif" /> 
<img id="img-50" src="https://cdn0.vox-cdn.com/images/verge/default-avatar.v9899025.gif" /> 
</div> 

$(".image img").each(function() { 
     var $this = $(this), 
      getClass = $this.attr('img') 
     splitClass = $this.prop('id').split("-") 
     if (splitClass[1] <= 20) { 
      $this.attr("src", "http://lorempicsum.com/futurama/350/200/1"); 
      this.nextElementSibling.remove(); 

     } else if (splitClass[1] >= 21) { 
      $this.attr("src", "http://www.top13.net/wp-content/uploads/2014/11/4-small-flowers.jpg"); 
      this.nextElementSibling.remove(); 

     } else { 
      $this.attr("src", "https://cdn0.vox-cdn.com/images/verge/default-avatar.v9899025.gif"); 
     } 
    }); 

Wie funktioniert> verwenden, <, < =,> = Arbeit in jQuery? Der Standard-IMG ist Standard-Avatar.gif. ich will (splitClass[1] >= 21) das img Änderung mit min ist 21 und die max 40. und dann das ....Wie Logistiker JavaScript oder jQuery

else { 
     $this.attr("src", "https://cdn0.vox-cdn.com/images/verge/default-avatar.v9899025.gif"); 
      } 

wird mit Standard-avatar.gif arbeiten, weil ich es in jQuery nicht ändern.

+3

Operatoren sind nichts mit jQuery zu tun. Wenn Sie den Wert '23' haben, müssen Sie parseInt ('23 ') eingeben und als Nummer arbeiten, und Sie können die Operatoren anwenden. http://www.w3schools.com/jsref/jsref_parseint.asp – daremachine

+0

Was ist das erwartete Ergebnis von 'getClass = $ this.attr ('img')'? – guest271314

+0

@ guest271314 wirklich? Ich dachte Javascript ist keine dynamische Typisierungssprache und Sie müssen immer die Zeichenkette in die Zahl für Operatoren konvertieren. – daremachine

Antwort

1

Versuchen Sie, für .remove() innerhalb .each() Schleife zu ersetzen. Sie können auch ein className zu den Elementen hinzufügen, wobei display:none auf css gesetzt ist, um die Elemente aus document nach Iteration unter .each() auszuwählen und zu entfernen.

$(".image img").each(function() { 
 
    var $this = $(this), 
 
    getClass = $this.attr('img') 
 
    splitClass = $this.prop('id').split("-") 
 
    if (splitClass[1] <= 20) { 
 
    $this.attr("src", "http://lorempicsum.com/futurama/350/200/1"); 
 
    $this.next().hide(); // .addClass("toRemove") 
 
    console.log("less than or equal to 20", splitClass[1] <= 20) 
 
    } else if (splitClass[1] >= 21) { 
 
    $this.attr("src", "http://www.top13.net/wp-content/uploads/2014/11/4-small-flowers.jpg"); 
 
    $this.next().hide(); // .addClass("toRemove") 
 
    console.log("greater than or equal to 20", splitClass[1] >= 21) 
 
    } else { 
 
    $this.attr("src", "https://cdn0.vox-cdn.com/images/verge/default-avatar.v9899025.gif"); 
 
    } 
 
}); // .filter(".toRemove").remove()
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div class="image"> 
 
    <img id="img-1" src="https://cdn0.vox-cdn.com/images/verge/default-avatar.v9899025.gif" /> 
 
    <img id="img-2" src="https://cdn0.vox-cdn.com/images/verge/default-avatar.v9899025.gif" /> 
 
    <img id="img-5" src="https://cdn0.vox-cdn.com/images/verge/default-avatar.v9899025.gif" /> 
 
    <img id="img-15" src="https://cdn0.vox-cdn.com/images/verge/default-avatar.v9899025.gif" /> 
 
    <img id="img-25" src="https://cdn0.vox-cdn.com/images/verge/default-avatar.v9899025.gif" /> 
 
    <img id="img-35" src="https://cdn0.vox-cdn.com/images/verge/default-avatar.v9899025.gif" /> 
 
    <img id="img-50" src="https://cdn0.vox-cdn.com/images/verge/default-avatar.v9899025.gif" /> 
 
</div>

+1

@KarlFriedchicken Hinweis, 'img' Elemente scheinen kein Attribut namens' img' zu haben; Was ist der Zweck von 'getClass = $ this.attr ('img')'? – guest271314

Verwandte Themen