这是我的HTML:
<div class="box">
<input type="file" name="file-7" id="file-7" class="inputfile inputfile-6" accept="image/png,image/gif,image/jpeg" />
<label for="file-7">
<span>This is test</span>
<strong>Upload photo</strong>
</label>
</div>
我想使用jquery清除span的文本(如果有的话)。我写了代码:
$('#file-7').on('change', function(){
var spn = $(this).closest('span');
spn.attr('text','');
});
该文字未被删除。我做错了什么?
答案 0 :(得分:4)
你只需要这样做
spn.html('');
我们不需要用变量
编写$()答案 1 :(得分:3)
$('#file-7').on('change', function(){
var spn = $(this).closest('.box').find('span');
spn.text('');
});
说明:您必须找到最接近的父元素,该元素具有您尝试替换文本的范围。这里的父母是.box
&amp;然后在其中找到span
。
你犯的第二个错误是$(spn).attr('text','');
。这里不需要$()
&amp;不使用attr()
。您可以像spn.text('');
为您准备样本:
$('#file-7').on('change', function(){
var spn = $(this).closest('.box').find('span');
spn.text('');
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="box">
<input type="file" name="file-7" id="file-7" class="inputfile inputfile-6" accept="image/png,image/gif,image/jpeg" />
<label for="file-7">
<span>This is test</span>
<strong>Upload photo</strong>
</label>
</div>
&#13;
答案 2 :(得分:0)
您可以在jQuery中使用text函数替换文本。并且您的变量是spn但是您使用它作为$(spn)。
$('#file-7').on('change', function(){
var spn = $(this).next('label').find('span');
spn.text('');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="box">
<input type="file" name="file-7" id="file-7" class="inputfile inputfile-6" accept="image/png,image/gif,image/jpeg" />
<label for="file-7">
<span>This is test</span>
<strong>Upload photo</strong>
</label>
</div>