下面的情景:
在ajax返回时,我想更改文档中的一些链接。其中一些是硬编码的其他动态生成的。
function( data ) {
$('a.imageselect').each(function() {
var imgValue = $(this).attr('href');
$(this).attr('href', imgValue.replace('publish_img', 'edit_img/'+data.dbid));
});
}
它的工作原理与硬编码元素一样,但不适用于那些:
$("#chooseimg").after('<a href="'+imgUrl+'" class="imageselect">foo</a>");
我知道也许“on”可以帮助我 - 但我不知道在这种情况下如何使用。
答案 0 :(得分:0)
$(document).on("click", ".button-delete", function() {
console.log("inside");
});
.on的用法如上所述,但我认为在这种情况下你需要为
创建一个函数function my_func() {
$('a.imageselect').each(function() {
var imgValue = $(this).attr('href');
$(this).attr('href', imgValue.replace('publish_img', 'edit_img/'+data.dbid));
});
}
并在添加动态数据后调用它。
$("#chooseimg"]).after('<a href="'+imgUrl+'" class="imageselect">foo</a>');
my_func();
像这样。
答案 1 :(得分:0)
您的代码是正确的。也许你使用旧版本的jQuery。 我在这个脚本中测试了你的代码,一切正常:
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript">
$(document).ready(function() {
$('#button').on('click', function() {
var imgUrl = 'publish_img';
$("#chooseimg").after('<a href="'+imgUrl+'" class="imageselect">foo</a>');
});
$('#button2').on('click', function() {
change('1');
});
});
function change( data ) {
$('a.imageselect').each(function() {
var imgValue = $(this).attr('href');
$(this).attr('href', imgValue.replace('publish_img', 'edit_img/'+data));
});
}
</script>
<input type="button" id="button" name="add" value="Add link!" /><br />
<input type="button" id="button2" name="change" value="Change" />
<div id="chooseimg">
</div>
</body>
</html>