مجموعه من العناصر لها نفس الclass، أريد أن أغير تنسيق واحده فقط لو تم الضغط عليها

السلام عليكم ورحمة الله
لدي كود بالJavascript ولكن ينقصني جزء بسيط فيه، ألا وهو تغيير التنسيق للعنصر الذي تم الضغط عليه، وليس كل العناصر التي تحتوي نفس اسم الكلاس

الكود الذي كتبته:

   function start(){
	var illustrate = document.getElementById("illustrate"); 
	illustrate.addEventListener("dblclick", function(){ 
		var add = document.getElementById("add");
		add.classList.toggle('first');
		var matches = document.querySelectorAll("div.start");
		matches.forEach(function(item) {
		   item.classList.toggle('pos');
		});
		this.classList.toggle('pos');
	}); 
}

كل ما أريده هو بدلا من الid، أريد باستخدام اسم الكلاس، وعندما يتم الضغط على العنصر الذي لديه اسم كلاس متكرر مرتين أريد أن اغير تنسيق العنصر الذي تم الضغط عليه فقط

3 Likes

أهلا صاره

لا أدري ان فهمت سؤالك جيدا لكن لو تريد أن تجيب العنصر الذي تم الضغط عليه فقط يمكنك استعمال هكذا

<a href='#' onclick="start(this);">click</a>

ثم استعماله في دالتك

function start(element) {
// use element here
}

لا أدري حقيقة هل الطريقة صحيحة لكن نطلب من مطورينا يساعدونا @sniperadmin @L.Da @Ayman97

3 Likes

لاختيار الكلاس نستخدم getElementByClassName('classNameHere')

بالنسبة لاختيار العنصر لازم نضيف مراقب يشوف الdblclick جاي منين
ممكن نجرب الطريقة دي:

document.addEventListener('dblclick', function(e) {
    e = e || window.event;
    var target = e.target || e.srcElement,
        text = target.textContent || target.innerText;   
}, false);

جربي تطبعي الe في الconsole

للمزيد: https://gomakethings.com/listening-for-click-events-with-vanilla-javascript/

4 Likes

كنت أريد إستخدامها ب addEventListener، أما طريقة ال onclick ستختلف والله أعلم
جزاك الله خيرا

3 Likes

هجربها تمام إن شاء الله
جزاكم الله خيرا

2 Likes