2016-09-16 12 views
2

は、私は、HTMLは、Ajaxの呼び出しで私に戻ってきた:私は、HTML varにコンテナのdiv内のimgタグを見つけて、それの代替タグを変更したい成功の方法で別のDOM要素内のDOM要素を見つけるにはどうすればよいですか?

$.ajax({ 
    url: '/get-html', 
    dataType: 'html', 
    success: function(html) { 
     html = $(html); 
     .... 

を。

私がない場合:我々は、すべての画像上のALTを

html.find('img').attr('alt', 'new alt'); 

更新。コンテナdivのaltだけを指定するにはどうすればよいですか?私はこれを試しました:

html.find('.container img').attr('alt', 'new alt'); 

しかし、それは動作しません。

FYIここでは、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

はい100%を確認してください、例は機能しません。 – panthro

+6

'.container'は' html'の子ではなく、ラッパーです。したがって、 'html.filter( '。container')を使用してください。find( 'img')' –

+0

eisbehrこれは動作しません。 – panthro

答えて

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);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

JSFiddle

関連する問題