Tôi có một bộ các thẻ neo tạo động trong một vòng lặp for như sau:Sử dụng jquery bấm vào để xử lý neo onClick()
<div id = "solTitle"> <a href = "#" id = "' + tagId + '" onClick = "openSolution();"> ' + solTitle + '</a></div> <br>';
Khi mã này được thực hiện đầu ra html với một trong các trường hợp sẽ trông như:
<div id = "solTitle"> <a href = "#" id = "solution0" onClick = "openSolution();">Solution0 </a></div> <br>
<div id = "solTitle"> <a href = "#" id = "solution1" onClick = "openSolution();">Solution1 </a></div> <br>
Bây giờ tôi muốn các văn bản khác nhau được hiển thị khi nhấp vào các liên kết ở trên. openSolution() trông như thế này:
function openSolution() {
alert('here');
$('#solTitle a').click(function(evt) {
evt.preventDefault();
alert('here in');
var divId = 'summary' + $(this).attr('id');
document.getElementById(divId).className = '';
});
}
Khi tôi thực hiện nó và nhấp chuột vào một trong các liên kết, dòng chảy doesnot đến bên trong handler jquery nhấp chuột. Tôi đã kiểm tra nó bằng các cảnh báo trên được sử dụng. Nó chỉ hiển thị cảnh báo - 'ở đây' chứ không phải cảnh báo - 'ở đây trong'. Khi nhấp vào liên kết lần thứ hai, mọi thứ hoạt động hoàn hảo với giá trị chính xác của divId.
sẽ không hợp lệ vì #soltitle đang được lặp lại –
@ToniMichelCaubet - Tôi đã đề cập rằng trong đoạn cuối. Tôi đoán nó có thể là một chút rõ ràng hơn mặc dù, cảm ơn. –