2015-06-04 45 views
0

我從li元素中獲取圖像源。如何以div的形式顯示圖像的源代碼

$(document).ready(function() { 
    $('li.k-state-selected').live("click", function() { 
     var src = $(this).find("img").attr("src"); 
     alert(src); 
    }); 
}); 

那麼我怎麼能顯示圖像在另一個使用其來源的股利?

+0

請注意,'活()'被棄用的jQuery 1.7,這是一個相當長的時間......你應該使用'上( )'或甚至是快捷方式'click()'方法。如果您需要將處理程序附加到動態創建的元素,可能會查看事件分層。 –

回答

3
$(document).ready(function() { 
    $('li.k-state-selected').live("click", function() { 
     var src = $(this).find("img").attr("src"); 
     $("#youOtherDiv").append("<img src='"+ src + "' />"); 
    }); 
}); 

只需添加一個新行;)這樣

+0

但是當你點擊其他圖像時,append會逐個添加圖像。所以最好選擇html來代替追加以在我們點擊圖像時顯示一個圖像。 –

+0

取決於您的要求;) –

+0

是的,但謝謝:-)我的問題現在已經解決 –

4

這樣的 - 請注意live被棄用:

$(function() { 
    $('li.k-state-selected').on("click", function() { 
     var src = $(this).find("img").attr("src"); 
     $("#someDivId").html('<img/>', {"src":src, "alt":"My Image"}); 
    }); 
}); 

或只是

$(function() { 
    $('li.k-state-selected').on("click", function() { 
     var $img = $(this).find("img").clone(); 
     $("#someDivId").append($img); 
    }); 
}); 

如果LI的是動態添加,您可能想要委託:

$(function() { 
    $("#someStaticParentContainer").on("click", "li.k-state-selected",function() { 
     $("#someDivId").append($(this).find("img").clone()); 
    }); 
}); 
+1

*旁註:*請記住'標記爲''標記需要'alt'屬性。 – Raptor

+1

我想你也應該在你的答案中提到委託事件,因爲'live()'在某種程度上也適用於「未來」(=動態創建的)元素 –

+0

好吧,好的:)功能蠕變... – mplungjan

1

只要做到這一點在點擊事件:

$(this).find("img").clone().appendTo(".container-to-add-to");