我的html和jquery代码如下所示,但由于某种原因,我可以更改跨度的文本。我尝试使用find和最接近的方法。有任何想法吗?感谢
<body>
<span class="classA">Text A</span>
<input id="testId" type="file" name="files" class="fileUp">
<span class="classA">Text B</span>
<script type="text/javascript">
$(document).ready(function () {
$("input.fileUp").change(function (event) {
$(this).closest('span.classA').text('testing');
$(this).find('span.classA').text('testing');
});
});
</script>
</body>
答案 0 :(得分:1)
span.classA
不是.fileUp
中最接近的元素。使用prev()
方法,如下所示。
$("input.fileUp").change(function (event) {
$(this).prev('span.classA').text('testing');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="classA">Text A</span>
<input id="testId" type="file" name="files" class="fileUp">
<span class="classA">Text B</span>