JQuery ersetzen html-element-Inhalt, wenn die ID beginnt mit dem Präfix
Ich bin auf der Suche um zu verschieben, oder kopieren Sie den Inhalt eines HTML-Elements. Dies wurde vorher gefragt und ich kann innerHTML() oder Jquery html () - Methode zu arbeiten, aber ich bin versucht, zu automatisieren.
Wenn die ID eines Elements beginnt mit dem "rep_" ein, ersetzen Sie den Inhalt des Elements nach dem Unterstrich.
So,
<div id="rep_target">
Hello World.
</div>
ersetzen würde:
<div id="target">
Hrm it doesn't seem to work..
</div>
Ich versucht habe:
$(document).ready(function() {
$('[id^="rep_"]').html(function() {
$(this).replaceAll($(this).replace('rep_', ''));
});
});
-und-
$(document).ready(function() {
$('[id^="rep_"]').each(function() {
$(this).replace('rep_', '').html($(this));
});
});
Weder scheint zu arbeiten, aber das funktioniert, nur manuell:
var target = document.getElementById('rep_target').innerHTML;
document.getElementById('target').innerHTML = target;
Verwandte, aber dies ist nur text.
JQuery ersetzen Sie alle text-element-mit-string-in-id
wo kommt der Ersatz her? tun, die Sie übertragen möchten-ersetzen (übertragung einer bestehenden Inhalt zu ersetzen, Ziel)? oder Klon-ersetzen (kopieren Sie eine vorhandene content-und ersetzen-Ziel)?
Allgemeine Bemerkungen: Sie sind mit html-Fehler in Ihrem Beispiel: html-nimmt einen string -, nicht um eine Funktion als argument. Ähnlich wie man es verwenden, ersetzen Sie falsch; wenn Sie ein Attribut ändern möchten (jedes Attribut, einschließlich "id"), die Sie verwenden sollten, attr. Ich denke, letzteres Verwirrung kommt von Missverständnissen, was genau $(foo) gibt: es ist nicht die ID des Elements, noch ist es das element selbst (oder Elemente). Stattdessen, es ist ein wrapper um das element(s), so etwas wie [element1, element2, ...], aber mit zusätzlichen Methoden, die ein array normalerweise nicht machen würde. Hoffe, das hilft.
Ich bin ein JS noob. Ich muss an der formatierte HTML-Inhalt von id="rep_target1", und ersetzen Sie oder fügen Sie den Inhalt von id="target1". Im Grunde Suche für alle Elemente mit id="rep_X" dann suchen-und-ersetzen-id="X" es gibt mehrere Instanzen auf einer Seite mit verschiedenen X-Werte...
Allgemeine Bemerkungen: Sie sind mit html-Fehler in Ihrem Beispiel: html-nimmt einen string -, nicht um eine Funktion als argument. Ähnlich wie man es verwenden, ersetzen Sie falsch; wenn Sie ein Attribut ändern möchten (jedes Attribut, einschließlich "id"), die Sie verwenden sollten, attr. Ich denke, letzteres Verwirrung kommt von Missverständnissen, was genau $(foo) gibt: es ist nicht die ID des Elements, noch ist es das element selbst (oder Elemente). Stattdessen, es ist ein wrapper um das element(s), so etwas wie [element1, element2, ...], aber mit zusätzlichen Methoden, die ein array normalerweise nicht machen würde. Hoffe, das hilft.
Ich bin ein JS noob. Ich muss an der formatierte HTML-Inhalt von id="rep_target1", und ersetzen Sie oder fügen Sie den Inhalt von id="target1". Im Grunde Suche für alle Elemente mit id="rep_X" dann suchen-und-ersetzen-id="X" es gibt mehrere Instanzen auf einer Seite mit verschiedenen X-Werte...
InformationsquelleAutor Caleb Roseland | 2012-04-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie zwei grundlegende Optionen für den ersten Teil: ersetzen Sie mit einem HTML-string, oder ersetzen Sie mit den tatsächlichen Elementen.
Option #1: HTML -
Option #2: Elemente
Wenn Sie keine Präferenz, letztere option ist besser, als den browser nicht haben, zu re-konstruieren, die DOM-bits (wenn der browser stellt HTML-Elementen, es braucht Arbeit und somit auf die Leistung auswirkt; option #2 vermeidet, dass die Arbeit nicht machen den browser erstellen neuer Elemente).
Abdecken sollten ersetzt den Innenseiten. Sie auch möchten, ändern Sie die ID des Elements, und das hat nur eine Möglichkeit (die ich kenne)
Also, setzen Sie alle zusammen, so etwas wie:
sollte den trick tun. Hoffe, das hilft.
Das ist ziemlich nah, aber ich muss die option #1 dynamisch. Wie dieses: jsfiddle.net/SZUZt
Ich bearbeitet habe, die Antwort, die deutlicher machen, wie Sie können verbinden die beiden Teile. Ich verwendete option #2 in der kombinierten version, da wird es besser, aber Sie können leicht ersetzen Sie option #1, wenn Sie bevorzugen.
Sie sind ein Geschenk des Himmels. Ich danke Ihnen so sehr. Ich Zwickte es nur ein bisschen, aber das Tat den trick!
InformationsquelleAutor machineghost
Holen Sie sich die id mit der
attr
Methode, entfernen Sie das Präfix erstellen Sie einen Selektor aus, den HTML-code aus dem element und die Rückgabe aus der Funktion:Oder einfach:
this.id
😉InformationsquelleAutor Guffa
Aus meiner Frage, mein Verständnis ist, dass Sie möchten, ersetzen Sie die id durch entfernen der re -_ - Präfix und dann ändern Sie den Inhalt, div. Dieses Skript wird das tun.
Beispiel Arbeiten : http://jsfiddle.net/eh3RL/13/
InformationsquelleAutor Shyju