调用服务器并将返回的数据转换为表格后。我使用 jQuery 的 .html() 语法将它插入到页面中。之后数据出现在页面中,但我无法使用 jQuery 对其进行操作。
代码如下:
<html>
<head>
<title>testJavaScript</title>
<script type="text/javascript" src="jquery-1.4.2.js"></script>
<script type="text/javascript">
function makeTable(data) {
var htmlOut = "<table id=\"AjaxTable\">";
for (x in data) {
htmlOut += "<tr>";
for (y in data[x]) {
htmlOut += "<td>"+data[x][y]+"</td>";
}
htmlOut += "</tr>";
}
htmlOut += "</table>";
return htmlOut;
}
function getValue() {
return $("#MyText").val()
}
$(document).ready(function () {
$("img").hover(function () { //This dosent work on the data returned from the server
$(this).hide(1000)
//$(this).css({'background-color': '#357EC7', 'border': '2px solid #2B60DE'});
})
$("#populateDrop").click(function () {
$.getJSON('http://127.0.0.1:5000/ajaxTest/json?num='+ getValue() +'&callback=?', function(data) {
$(".result").html(makeTable(data.data));
})
})
})
</script>
</head>
<body>
<img src="http://www.sharejs.com/code/windows/light-window/gallery/1-nature.jpg" width="50" height="50" /></br>
<form>
<input id="MyText" type="text" value="15" />
</form>
<a href="#" id="populateDrop">Populate!</a></br>
<div class="result"></div>
</body>
最佳答案
对于动态数据,您需要使用live
:
$("img").live('hover', function () {
$(this).hide(1000);
});
更多信息:
关于javascript - 无法操作从 jQuery 中的 ajax 请求插入的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3486385/