Tôi muốn thay đổi giá trị của thuộc tính onclick
trên một neo. Tôi muốn đặt nó vào một chuỗi mới có chứa JavaScript. (String đó được cung cấp cho các client-side mã JavaScript bởi máy chủ, và nó có thể chứa bất cứ điều gì bạn có thể đặt trong onclick
thuộc tính trong HTML.) Dưới đây là một vài điều tôi đã cố gắng:JavaScript: thay đổi giá trị của onclick có hoặc không có jQuery
- Sử dụng jQuery
attr("onclick", js)
doesn không hoạt động với cả Firefox và IE6/7. - Sử dụng
setAttribute("onclick", js)
hoạt động với Firefox và IE8, nhưng không hoạt động với IE6/7. - Sử dụng
onclick = function() { return eval(js); }
không hoạt động vì bạn không được phép sử dụngreturn
là mã được chuyển đếneval()
.
Bất kỳ ai có đề xuất bật đặt thuộc tính onclick để thực hiện công việc này cho Firefox và IE 6/7/8? Ngoài ra, hãy xem bên dưới mã tôi đã sử dụng để kiểm tra điều này.
<html>
<head>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var js = "alert('B'); return false;";
// Set with JQuery: doesn't work
$("a").attr("onclick", js);
// Set with setAttribute(): at least works with Firefox
//document.getElementById("anchor").setAttribute("onclick", js);
});
</script>
</head>
<body>
<a href="http://www.google.com/" id="anchor" onclick="alert('A'); return false;">Click</a>
</body>
</html>
"có hoặc với jQuery" bạn có muốn jQuery với jQuery đó không? –
Tôi giả định OP muốn jQuery trong khi anh ta jQueried. – ObscureRobot