2013-12-18 50 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

相关问题