2 Stimmen

Versuch, mit jquery zu prüfen, ob ein Bild auf einer Seite ist

Ich habe ein Bild auf meiner Webseite wie folgt:

<img id="k4Tbx6luuHmP01dpI4BRZw==" src="/thumbnail/k4Tbx6luuHmP01dpI4BRZw==">

Wenn ich jedoch versuche

var is_image_there = $("#k4Tbx6luuHmP01dpI4BRZw==").attr("src");
console.log(is_image_there);

Die Chrome-Konsole gibt "undefiniert" zurück. Was mache ich falsch?

4voto

Mathias Bynens Punkte 136619

Sie müssen den Selektor korrekt zu entschlüsseln :

$('#k4Tbx6luuHmP01dpI4BRZw\\=\\=');

Hier ist eine Demo: http://jsfiddle.net/mathias/crYWH/

Um zu überprüfen, ob das Bild vorhanden ist oder nicht, können Sie die .length Eigentum:

$('#k4Tbx6luuHmP01dpI4BRZw\\=\\=').length;

Dies ist gleich 0 wenn sich das Bild nicht auf der Seite befindet.

Ich habe ein Tool entwickelt, das Ihnen hilft, jeden Selektor korrekt zu entkommen: mothereff.in/css-escapes Screenshot:

1voto

Oybek Punkte 6525

Ja, es scheint zu funktionieren, wenn Sie Flucht el = . Soweit ich weiß, ist id eine Base-64-Zeichenkette. Ich kann Ihnen raten, einfach das Padding zu entfernen, d.h. = . Dann stellen Sie sie bei Bedarf wieder her.

Es ist einfach, base 64 string muss die Länge 4*n haben. Wenn sie nicht gleich ist, wird sie aufgefüllt mit = .

Außerdem enthält Ihre Url auch = . das ist ein spezielles Zeichen in url. Daher schlage ich Ihnen vor, Folgendes zu verwenden url-basierte base64 .

0voto

mas-designs Punkte 7418

Sie dürfen kein == in Ihrer ID haben, sofern Sie NICHT html5 verwenden.

ID- und NAME-Tokens müssen mit einem Buchstaben ([A-Za-z]) beginnen und können gefolgt von einer beliebigen Anzahl von Buchstaben, Ziffern ([0-9]), Bindestrichen ("-"), Unterstriche ("_"), Doppelpunkte (":") und Punkte (".") folgen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X