我有一个ajax调用回复给我的HTML:
$.ajax({
url: '/get-html',
dataType: 'html',
success: function(html) {
html = $(html);
....
在success方法中,我希望在html var中的容器div中找到img标签并更改它的alt标签。
如果我这样做:
html.find('img').attr('alt', 'new alt');
我们更新了所有图像的alts。如何仅指定容器div的alt?我试过这个:
html.find('.container img').attr('alt', 'new alt');
但它不起作用。
仅供参考,这是ajax调用中返回的HTML的一个示例:
<div class="container">
<img src="" alt="PLEASE CHANGE THIS ALT">
</div>
<img src="" alt="LEAVE MY ALT ALONE">
<img src="" alt="LEAVE MY ALT ALONE">
答案 0 :(得分:0)
试试这个 -
var html = '<div class="container"><img src="" alt="PLEASE CHANGE THIS ALT"/></div><img src="" alt="LEAVE MY ALT ALONE"/><img src="" alt="LEAVE MY ALT ALONE"/>';
//Print Your html Code before changing alt attr.
$('body').append(html);
$('body').append('<hr/>');
html = $(html);
//Check img inside .div and change attr
html.children('.container img').each(function() {
$(this).attr('alt', 'new alt');
//Log changed attr
console.log($(this).attr('alt'));
});
//Print Your html Code after changing alt attr.
$('body').append(html);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;