Tôi có vấn đề nhỏ này với jquery: tôi cần phải làm một cái gì đó như thế này:chức năng Binding đến nhiều yếu tố với Jquery
$(document).ready(function(){
links = {};
links.a = "Link a";
links.b = "Link b";
links.c = "Link c";
for (x in links){
$("#" + x).css("border","1px solid #000");
$("#" + x).click(function(){
alert(x);
});
}
});
</script>
<div id="a">a</div><br />
<div id="b">b</div><br />
<div id="c">c</div><br />
Vì vậy mà khi bạn click vào div # là bạn sẽ nhận được "Liên kết" alert , "Liên kết b" trên div # b và cứ thế ... Vấn đề là nếu bạn chạy mã này, việc nhấp vào từng phần tử sẽ cho cảnh báo ("Liên kết c") là kết quả, dường như chỉ có biến thể hàm cuối cùng được gán cho mỗi div ...
Tất nhiên tôi có thể hack bằng cách chỉnh sửa hàm để làm việc với id của div và sử dụng $ (this), nhưng đối với cursiosity: có cách nào để làm cho chu kỳ này hoạt động không? Bằng cách tạo và gán một hàm mới cho từng phần tử trong hàm?
Thx trước ...
Just FYI, đó là một chút gọn gàng nếu bạn chuỗi jQuery của bạn thay vì chọn lại chọn. * Ví dụ: * '$ ('#' + x) .css ('border', '1px solid # 000'). Bấm (fn); ' –