আমি এই বিন্যাসটি গতিশীলভাবে তৈরি হয়েছিল:
for (let i = 1; i < 10; i++) {
document.querySelector('.card-body').innerHTML += `<div class="row" id="img_div">
<div class="col-12 col-sm-12 col-md-2 text-center">
<img src="http://placehold.it/120x80" alt="prewiew" width="120" height="80">
</div>
<div id="text_div" class="col-12 text-sm-center col-sm-12 text-md-left col-md-6">
<h4 class="name"><a href="#" id="title` + i + `">Name</a></h4>
<h4>
<small>state</small>
</h4>
<h4>
<small>city</small>
</h4>
<h4>
<small>zip</small>
</h4>
</div>
<div class="col-12 col-sm-12 text-sm-center col-md-4 text-md-right row">
</div>
</div>
`
document.getElementById("title" + i).addEventListener('click', function() {
console.log(i)
});
}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<div class="card-body">
<!-- person -->
</div>
এবং আমি ইভেন্টটি প্রতিটিটিতে ক্লিক করতে h4 class="name"
এবং i
সম্পর্কিত নম্বর সহ একটি লগ প্রদর্শন করতে চাই ।
তবে, console.log
কেবলমাত্র শেষ i
সম্পর্কিত সম্পর্কিত ( i=9
এই ক্ষেত্রে) দেখায় এবং অন্যান্য i
সংখ্যার সাথে কাজ করে না । কেন এমন হয়? আমাকে কি করতে হবে?
for
লুপটি সেই উপাদানগুলিতে ইভেন্টগুলি প্রয়োগ করার জন্য কোনও পদ্ধতি কল করার পরে , তবে আমি জানি না। jsFizz পরীক্ষা করতে হবে।
.card-body
এবং উপাদান ( target
) উপাদানটি একটি অ্যাঙ্কর এবং আইডি দিয়ে শুরু হয় কিনা তা পরীক্ষা করুন title
।
innerHTML += ...
পূর্বের সেট ইভেন্ট শ্রোতাদের হত্যা করছে, বন্ধের নয়। document.createElement
পরিবর্তে ব্যবহার করুন। এই থ্রেডটি