2013-12-18 90 views
0
<div data-layer=""> 
    <div class="area-comment-left"> 
    <a class="thumb" target="_blank" href="index.php"> 
     <img class="avatar" src="1.jpg" data-name="www"> 
    </a> 
    </div> 
</div> 
<a href="">GO</a> 

以上,數據層的值是一個數,其用戶輸入,並有多個數據層,所以只能獲得由用戶輸入的圖像:如何獲得這樣的圖像的src?

<input class="floor" value="a number"> 

然後如何將「a」的href更改爲圖像的src?像這樣:

<a href="1.jpg">GO</a> 也許這會工作?

var floor = $("div[data-layer="+$('.floor').val()"] .area-comment-left .thumb .avatar").attr("src"); 

非常感謝您的幫助!

+0

就像你決定'1.jpg'應該在圖像src中一樣。 –

+0

所以,基本上你想要得到每個'.thumb'並將它的'href'設置爲它內部圖像的'src'。 –

回答

2

$('.thumb').attr('href', '1.jpeg'); //JQuery

var a = document.getElementsByTagName('a')[0].href = "1.jpeg";

用戶輸入:

<form action="" method="POST"> 
    <input type="text" id="txtImage"/> 
    <input type="button" id="cmdOk" value="Ok"/> 
</form>//could be a div but for the purpose I decided I would use a form 
<script> 
    $('#cmdOk').on('click', function(){ $('.thumb').attr('href', $('#txtImage').val());}); 
</script> 
+1

你的第二個片段會拋出錯誤。 – PSL

+0

第二行有什麼問題? – Sebastien

+1

方法名稱是'getElement * s * ByTagName',它不返回一個元素,而是一個活的NodeList。請參閱https://developer.mozilla.org/en-US/docs/Web/API/Element.getElementsByTagName –

0

您必須提取圖片src屬性,然後再它assing到一個的href:

var image_src = $('.avatar').attr('src') 

$('.thumb').attr('href', image_src); 

,或者使用普通的JavaScript

var image = document.querySelector('.avatar'); 
var a = document.querySelector('.thumb'); 

a.href = image.src; 
+0

如果我只能通過用戶輸入獲取圖像的href,我該怎麼辦? – spoonwep

+0

請詳細解釋這是什麼意思。用戶如何輸入? –

+0

如果用戶可以選擇圖像,則無法訪問本地圖像的路徑。如果您提到用戶可以使用圖片的網址,則該方法會類似,但是會從輸入中獲取「src」屬性。請詳細解釋:) – tehsis

0
var thumbs=document.getElementsByClassName('thumb'); 
    // loop through the `.thumb`s 
for(var i=0,l=thumbs.length;i<l;i++){ 
    thumbs[i].href=thumbs[i].getElementsByClassName('avatar')[0].src; 
} 

通過所有.thumb s此將循環並設置其href到它們內部的.avatar圖像元素的src

+0

我的意思是用戶輸入的是一些數據層的值 – spoonwep

+0

他想改變的一個元素是外部形式'。拇指「範圍 – tehsis

相關問題