Ich habe diese Funktion, die anfänglich funktioniert, aber wenn ich die Seite ändern, um ausgeblendete Elemente anzuzeigen, funktioniert die Funktion nicht mit den Elementen, die einmal ausgeblendet wurden.Wie kann ich meine jQuery-Funktion mit versteckten Elementen arbeiten, wenn sie sichtbar gemacht werden
jQuery(document).ready(function($) {
$(".paragraph-div").hide();
$(".toggle-div").click(function()
{
if ($(this).next(".paragraph-div").is(":visible")) {
$(this).next(".paragraph-div").hide();
$(this).text("More Info");
} else {
$(this).next(".paragraph-div").show();
$(this).text("Less Info");
}
});
});
ich jsfiddle hier gemacht habe: https://jsfiddle.net/6k0bshb6/44/
So was passiert ist, es funktioniert nur auf .paragraph-div
‚s, die zunächst sichtbar auf Seite Last sind so, wenn ich neuen Absatz divs zeigen (durch die Tabelle Filterung oder Mit der Schaltfläche Zeige mehr Zeilen auf meinem Tisch) sind sie bereits geöffnet, wenn sie ausgeblendet werden sollen und die Klick-Funktion nicht funktioniert.
Ich bin ziemlich neu zu jQuery und weiß nicht die richtige Methode, um dies zu tun, aber ich denke, es hat etwas mit ("document").ready
zu tun Ich denke, ich muss das ändern, aber was soll ich es ändern?
Wenn Sie möchten, um das Problem zu sehen, werden Sie bei http://mobilereactor.co.uk/shop/mobile-phones/apple-iphone-5s-32gb-space-grey-deals/
Entfernen Sie die Zitate um '" Dokument "' :) – 4castle
Ich sehe nicht, wie das überhaupt überhaupt funktionieren würde. Der erste Parameter, der an eine jQuery-Ereignisfunktion übergeben wird, ist das Ereignisobjekt und nicht das jQuery-Objekt. Sie verwenden den ersten Parameter (das Ereignisobjekt) so, als wäre es in dieser Funktion jQuery. –
@JohnDavidKievlan Lesen Sie die Dokumentation zu ['.ready()'] (https://api.jquery.com/ready/) und scrollen Sie nach unten zu "Aliasing the jQuery Namespace". Es ist gültig. – 4castle