如何在另一个dom元素中找到一个dom元素?
问题描述:
我有HTML在Ajax调用返回给我:如何在另一个dom元素中找到一个dom元素?
$.ajax({
url: '/get-html',
dataType: 'html',
success: function(html) {
html = $(html);
....
在成功的方法,我希望能够找到容器DIV中的img标签在HTML var和改变它的ALT标签。
如果我做的:
html.find('img').attr('alt', 'new alt');
我们更新所有图像低价竞标。我怎样才能指定容器div的ALT?我试过这个:
html.find('.container img').attr('alt', 'new alt');
但它不工作。
仅供参考这里的HTML的例子在Ajax调用返回:
<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">
答
尝试这 -
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);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
是100%肯定的是,示例不起作用。 – panthro
'.container'是包装器,不是'html'的子元素。因此,使用'html.filter('。container')。find('img')' –
eisbehr这不起作用。 – panthro