選擇DIV我有一個事件偵聽器的動態創建的元素:使用jQuery不工作
<script>
$(document).on('change', '.inputfile', function() {
var name = ($(this).val().split('\\').pop());
selectFile(name);
});
</script>
一旦文件被選中,我想追加顯示文件名本身就是一個段落。我的問題是jQuery選擇不工作:
function selectFile(filename) {
alert(filename);
var classes = $(this).closest('.inputgroup');
$('classes').append('<p>'+filename+'</p>');
}
我想追加與類= inputgroup最近的格段,因爲有好幾個分度,該類。 使用簡單的$('.inputgroup').append('<p>'+filename+'</p>');
即可,並創建段落。 這是HTML:
<div class="inputgroup">
<label class="btn btn-default btn-info" style="margin-top: 8px">
Browse <input type="file" style="display: none;" class="inputfile"/>
</label>
<button type="button" class="btn btn-outline-danger" onclick="myAjax()">Ok</button>
<span id="remove_field" class="glyphicon glyphicon-remove" aria-hidden="true" style="vertical-align: middle"></span>
</div>
我相信'$(本).closest(」 inputgroup。 ');'超出範圍,在這一點上不應該工作,$(' 這)是文檔。 –
@DIEGOCARRASCAL即使我把它放在事件處理程序中(在HTML文件中)也沒有效果 – slash89mf
jQuery'$(this)'是實例,即生成事件的DOM元素,但它指向此元素只有在事件運行的函數中...所以'$(document).on('change','.inputfile',function(){...}'是你希望爲'$ ).closest('。inputgroup');'因爲在它中'$(this)'是具有'id =「。inputfile」'的元素。 –