Kombinieren Sie zwei ähnliche jQuery-Skripte zu einem if / then-Skript

Ich versuche zwei jQuery-Schleifen zu kombinieren, basierend auf dem Code der beantworteten FragenHier, die Bilder und iFrames aus WordPress-Posts entfernen und sie entweder in neue Divs oder in neue Listen verschieben. Meine vorherigen Fragen haben versucht, jedes dieser Ergebnisse unabhängig voneinander zu erzielen. Jetzt muss ich sie auf einer einzigen Seite zusammenfassen und anhand des übergeordneten Containers auswählen, welches Ergebnis verwendet werden soll.

Insbesondere möchte ich, dass das erste Skript auf allen ausgeführt wird<section> Behälter abgesehen von dem mit dem#clients ICH WÜRDE. Das sollte man mit dem zweiten Skript machen.

Ich stelle mir vor, ich brauche wahrscheinlich eine Art Wenn / Dann-Logik, die den dem Selektor entsprechenden Code ausführt, aber es fällt mir schwer, dies zu erreichen. Derzeit bricht ein Skript das andere.

Hier sind die beiden Skripte - bitte beachten Sie den Kommentar in Klammern in Zeile 4:

jQuery("document").ready (function($){
// Elements you want to match
var matchesEl = "img, iframe"

// For each section [I have added a 'not-#clients' selector, which doesn't work but gives an idea of the logic I'm attempting], get its index number and do the following:
$('section !#clients').each(function(index){

//If there is a matched element (for each section),
if ($(this).find(matchesEl).length > 0) {

  // create a div.royalSlider and prepend to this section
  $('<div>', {'class': 'royalSlider'}).prependTo(this)

  // For each matched element into this section (we don't need to get index number here), 
  $(this).find(matchesEl).each(function() {

    // add .rsImg class to this element and insert on the div.royalSlider,
    // not any div.royaSlider, but that one with equivalent index given before
    $(this).addClass('rsImg').appendTo($('section .royalSlider').eq(index));

  });

}

});
});

jQuery("document").ready (function($){
var matchesEl = "img, iframe"

$('section #clients').each(function(index){

if ($(this).find(matchesEl).length > 0) {

  $('<ul>').appendTo($('section');

  $(this).find(matchesEl).each(function() {
    //The line code under will only works if all your <section>s always have at least one matched element.
    //$("<li>").append($(this)).appendTo($('section ul').eq(index));
    //So the right code is:
    $("<li>").append($(this)).appendTo($('section').eq(index).children('ul'));
  });

}
$('p').filter(function () { return $.trim(this.innerHTML) == "" }).remove();
});
});

Anstatt zwei Skripte auszuführen, die sich überschneiden, muss ich ein Skript entwickeln, das basierend auf dem jQuery-Selektor selektiv ausgeführt wird.

Ich würde versuchen, dieses vereinheitlichte Skript zu schreiben und es hier zu veröffentlichen, anstatt die beiden zu zeigen, aber derzeit das zweite Skript (das versucht, es zu erstellen)<ul> funktioniert überhaupt nicht, und ich bin mir nicht sicher, wie ich das alleine hinbekomme, was eine Grundvoraussetzung dafür zu sein scheint, sie zu kombinieren.

Wenn es hilft, kann die Site, an der ich arbeite, angesehen werden (in der Entwicklungsphase!)Hier.

Vielen Dank im Voraus für jede Hilfe.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage