如何在另一个dom元素中找到一个dom元素?

时间:2016-09-16 13:51:29

标签: javascript jquery

我有一个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">

1 个答案:

答案 0 :(得分:0)

试试这个 -

&#13;
&#13;
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;
&#13;
&#13;

JSFiddle