<label class="file">File</label>
<input class="none" type="file">
jQuery的:
$('.file').click(function(){ $('.none').click();});
答案 0 :(得分:6)
你可以试试这个
var _file = document.getElementsByClassName('file'); //Return a NodeList
var _none = document.getElementsByClassName('none');
for(var x = 0;x<_file.length;x++){
(function(x){ //Creating closure
_file[x].addEventListener('click',function(){
console.log(x)
document.getElementsByClassName('none')[x].click();
})
}(x))
}
修改强>
如果有多个具有相同类别的元素
<property name="src.dir" value="test"/>
答案 1 :(得分:0)
这可能是最准确的等价物:
document.querySelector(".file")
.addEventListener("click", function(){
document.querySelector(".none").click();
});
要获得.click()
的更多跨浏览器替代方案:How can I trigger a JavaScript event click