我使用此代码更改上一个文本框的文本,但它不起作用,我该怎么办? 我试图添加一个CSS类,以确保它找到文本框,当然它找到了文本框,但无法更改值。
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
$("li.start").prevUntil("div.stop","input").text("!");
// $("li.start").prevUntil("div.stop","input").value("!"); not working too
});
</script>
</head>
<body>
<div style="width:500px;" class="siblings">
<div class="stop" > </div>
<input id="Text1" type="text" />
<ul>
<li>li (the previous sibling)</li>
<li>li (the previous )</li>
<li>li (the previous)</li>
<li class="start">li (sibling with class name "start")</li>
<li>li (sibling)</li>
<li>li (sibling)</li>
</ul>
</div>
</body>
</html>
答案 0 :(得分:1)
使用val()
输入如下:Live Demo
$("li.start").prevUntil("div.stop").val('!');
答案 1 :(得分:0)
您已经犯了一些JS语法错误。
所以你想找到&#34;输入&#34; siblings(这是第二个参数)位于&#34; li.start&#34;之前。直到前面的&#34; div.stop&#34;并给他们一个新的HTML值文本?
以下是更新(根据您更新的问题)提出的建议:FIDDLE
$(document).ready(function(){
$("li.start").prevUntil("div.stop, input").html('!');
});
作为prevAll()方法的jQuery参考,它只影响兄弟姐妹,这不是你的HTML。相反,将父方法和prev方法结合起来。
$("li.start").parent("ul").prev('input').val('!'); //UPDATED