So ändern Sie die Breite des div auf 100% mit jQuery?
Ich habe 2 divs nebeneinander, und wenn einer nicht da ist, ich will, dass die anderen eine Breite von 100%.
while ($array = $query->fetch(PDO::FETCH_ASSOC)){
if (!empty($array['photoname'])){
echo '<div class="photo"></div>';
}
echo '<div class="info"></div>';
}
Hier ist mein Javascript/jQuery:
$(document).ready(function() {
//check if photo div exists
if ($('.photo').length){
}else{
$('.info').css('width', '100%');
}
});
Also, wenn es keine Foto-div möchte ich das info-div zu bekommen eine Breite von 100%. Wie kann ich das erreichen?
UPDATE
Wenn ich nicht über jedes Foto divs zeigen, den oben genannten Werken und sets info divs auf 100%. Aber wenn ich ein Foto div irgendwo auf die Seite, dann wird keiner von der info-divs auf 100% gesetzt, auch wenn Sie nicht über ein Foto, div neben Ihnen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie so etwas wie dieses:
HTML
JS
CSS
DEMO
EDIT: Bitte siehe meine aktualisierte jsfiddle, der Grund, warum Ihr jQuery funktioniert nicht wie erwartet ist, weil Sie sich beziehen auf die Klasse in einer globalen Partitur, wie Sie wollen, ändern Sie Ihre divs in einer Zeile, die basis, die Sie haben, um irgendwie zu Durchlaufen Trog jeder von Ihnen, das ist, wenn Jquery kommt das Spiel wieder in den aktualisierten code, den ich verwende die find () - Funktion, die bei jeder iteration, dies wirkt sich nur auf die aktuelle Zeile, wie der Umfang wird reduziert, um die iterierten element nur.
$('.photo').length
immer wieder1
und wird wahr sein.if ($('.photo').html().length){
nicht für mich arbeiten. Ich entfernte das Foto und div setzenalert('hi');
unterelse
aber es hat nicht Benachrichtigen.$('.photo').hide();
ist nicht notwendig, meine PHP wieder. Und habe ich entfernt .html() und es machte mich dieser Zeit. Aber bitte, mein update oben, vielleicht hilft es ja? Ich denke, das jquery ist nicht die überprüfung aller divs, weil es ist eine while-Schleife, so dass es mehrere divs mit diesen Klassen.function (index)
tun vsfunction()
Ich würde vorschlagen, dass es vielleicht genau so leicht zu handhaben it-server-Seite. In Ihrer Logik, ändern Sie einfach die CSS-Klasse zuzuweisen, je nachdem ob man ein oder zwei DIVs.
Gibt es hier ein problem:
Ihre info-div ist nicht Klasse update_info, es ist Klasse info, so zu ändern:
Afaik
length
gibt eine Zahl zurück, so haben Sie zu prüfen, für die es null sein.Ihre if-Anweisung würde dann so Aussehen:
if ($('.photo').length == 0){ ...