Jak do tego podpiąć data-id

Jak do tego podpiąć data-id
PR
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poland
  • Postów: 266
0

siemka, jak mogę do tego podpiąć data.id?

Kopiuj
$(this).data('id').$('.test_open').addClass('test').removeClass('test_open');
PH
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 374
1

co chcesz zrobić? metody są chainowane więc możesz dodać kolejną . po remove class.

PR
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poland
  • Postów: 266
0
phanc napisał(a):

co chcesz zrobić? metody są chainowane więc możesz dodać kolejną . po remove class.

przykładowo mam 2x div o różnych id ale o tej samej klasie, i chce użyć w jquery podmiane klasy na obecnie kliknietym divie.
samo data zwraca mi id z response, ale nie wiem jak to podpiąć pod addclass+removeclass.

czyli klikamy na div'a. response zwraca data (tutaj jest id kliknietego diva)
i podmienić addclass+removeclass gdzie id = data

PH
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 374
2

ale tu namieszałeś.
Nie musisz wszędzie robić . bo wynik klażdej kropki można zapisać w zmiennej.
const id = $(this).data('id')

Kopiuj
elem.addEventListener('click', (e) => {
    const id = e.target.dataset.id;
    const elements = docuemnt.querySelector('`[data-id='${id}']`');
    elements.forEach((elem) => elem.classList.add('fooClass'));
}

tak by to wyglądało w js.
Jeśli chcesz to zrobić w jquery. To po prostu zamieniasz to odowiednio. Jeśli już pobierzesz id z 'data' to wyszukujesz elementy które takie id mają, czyli w gayquery to zamiast querySelector bedzie jakoś tak $('[data-id=..'). I na tych elementach dodajesz klasy czy co tam chcesz.

PR
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poland
  • Postów: 266
0
phanc napisał(a):

ale tu namieszałeś.
Nie musisz wszędzie robić . bo wynik klażdej kropki można zapisać w zmiennej.
const id = $(this).data('id')

Kopiuj
elem.addEventListener('click', (e) => {
    const id = e.target.dataset.id;
    const elements = docuemnt.querySelector('`[data-id='${id}']`');
    elements.forEach((elem) => elem.classList.add('fooClass'));
}

tak by to wyglądało w js.
Jeśli chcesz to zrobić w jquery. To po prostu zamieniasz to odowiednio. Jeśli już pobierzesz id z 'data' to wyszukujesz elementy które takie id mają, czyli w gayquery to zamiast querySelector bedzie jakoś tak $('[data-id=..'). I na tych elementach dodajesz klasy czy co tam chcesz.

tylko ze ja chce sprawdzac po klasie o nazwie= xxx oraz o id które zwraca response.

tutaj mam ten kod:

Kopiuj
<div data-test_page="1" class="test">I</div>
<div data-test_page="2" class="test">II</div>
<div data-test_page="3" class="test">III</div>
Kopiuj
const testPage = data => {
	$.post('test.php?test=test&count='+Object.values(data), data , response => {

		if(response.ok){
			$('.test2').addClass('test').removeClass('test2');
			console.log(data);
		}else{
			alert(response.msg);
		}
	});
}

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.