Vraag JavaScript DOM-object jQuery-object


Hoe kan ik een JavaScript DOM-object naar een jQuery-object converteren?

<tr onclick="changeStatus(this)">

function changeStatus(myObject) {
       XXX.removeClass();
}

Wat moet ik in plaats van XXX schrijven? Ik weet dat ik een oplossing kan maken met een ID- en een ID-selector, maar het is niet zo elegant. Is er een manier om een ​​js DOM-object naar een jQuery-object te converteren of het te gebruiken this trefwoord in jQuery?


36
2018-02-28 21:12


oorsprong


antwoorden:


var $this = $(myObject);

$this is een jQuery-object. U kunt jQuery-objecten maken van DOM-elementen.

<tr onclick="changeStatus(this)">

function changeStatus(myObject) {
       $(myObject).removeClass();
}

Ik zou ook willen aanbevelen om je evenementbinding met jQuery ook te doen:

<tr class="change-status">

$('.change-status').on('click', function () {
    $(this).removeClass( ... );
});

Dit is leuk omdat nu alle JS-code op één plaats staat en gemakkelijker kan worden bijgewerkt (naar mijn mening). Merk op dat de klasse die ik heb toegevoegd aan de <tr> element is niet nodig als je aan iedereen wilt binden <tr> elementen in de DOM.


60
2018-02-28 21:12



Wikkel eenvoudig de pass van het DOM-object in als het eerste argument.

$(myObject).removeClass('foo');

11
2018-02-28 21:13