2009-05-12 2 views
1

Wie würde ich in JQuery Folgendes ausführen?Führen Sie JavaScript .replace in JQuery aus

var elmOperator = document.getElementById(elm.id.replace('Include', 'Operator')); 

Die ID, die manipuliert wird, würde etwa wie folgt aussehen: Kriterien [0] .Include. Ich versuche, eine Variable für eine verwandte ID zu erstellen, die Kriterien [0] .Operator ist.

Vielen Dank im Voraus!

Antwort

3

Unter der Annahme, Ulme ist ein jQuery-Objekt, kein DOM-Objekt, Sie könnten dies tun:

var elmOperator = $("#" + elm.attr('id').replace('Include', 'Operator')); 

Wenn es ein DOM-Objekt ist, können Sie dies tun (das ist ein klein wenig schneller sein würde):

var elmOperator = $("#" + elm.id.replace('Include', 'Operator')); 

Die größere Frage ist, warum Sie dies tun möchten. Wenn Sie etwas so grundlegendes wie die jQuery selectors und attr() nicht kennen, ist Ihre Seite mit jQuery überhaupt irgendwo?

+0

in Ihrem zweiten Beispiel, wenn Sie bereits ein DOM-Element hatten, würde ich es nicht in ein jQuery-Objekt konvertieren. Es ist viel mehr Overhead und mehr zu tippen. Vergleiche: "$ (elm) .attr ('id')" mit "elm.id" – nickf

0

Sie können noch alten Javascript in jQuery so für Ihre Probe würde es so etwas wie diese:

var operators = $('[id*=Include]').map(function() { 
    return $('#' + $(this).get(0).id.replace('Include', 'Operator')); 
}); 
operators.css('background', 'red'); 

In dieser Probe, die wir alle einbeziehen Elemente auswählen und dann eine 1 Durchführung: 1-Abbildung der Elemente zu einem neuen Array von Operatorelementen, schließlich setzen wir den Hintergrund für alle Operatoren auf rot.