在今天之前,我从未使用过JavaScript,所以当我走到这里时,我正在努力学习。
在网页上我想选择所有带有“exampleClass”类的html输入标签,我想替换该值。任何人都可以向我展示如何做到这一点的好的/快速的代码片段或指向我正确的方向到另一个线程或教程吗?
谢谢!
答案 0 :(得分:1)
如果您使用jQuery:
,这是微不足道的$('input.exampleClass').val('New Value');
或者如果不需要IE7支持querySelectAll
elementList = document.querySelectorAll('input.exampleClass');
for(var i = 0; i < elementList.lenght; i++) {
elementList[i].value = "New Value";
}
或使用getElementsBytagName过滤所有输入标记:
var element,
elementList = document.getElementsByTagName('input');
for(var i = 0; i < elementList.lenght; i++) {
element = elementList[i];
if(element.className == "exampleClass") {
element.value = "New Value";
}
}
答案 1 :(得分:1)
var elements = document.getElementsByClassName('myClass');
for ( var x = 0, len = elements.length; x < len; x += 1 )
{
elements[x].value = 'your value here';
}
如果您想更好地了解其工作原理,请务必查看this answer。
答案 2 :(得分:0)
好吧,既然你是JavaScript的新手,那么jQuery很容易入手,因为它有非常powerful selectors,相对来说比纯JavaScript更容易编写。一个jQuery示例如下所示:
试试这个:
<!-- Uses jQuery library hosted by Google -->
<script language="javascript" scr="https://ajax.googleapis.com/ajax/libs/jquery/1.6.3/jquery.min.js"></script>
$('.exampleClass').val('replacedValue');
答案 3 :(得分:0)
var exClass = document.getElementsByClassName('exampleClass');
for(var i = 0; i < exClass.length; i++) {
exClass[i].value = "new Value";
}
答案 4 :(得分:0)
在普通的javascript(没有类似jQuery的框架)中,你可以这样做:
var list = document.getElementsByClassName('exampleClass');
for (var i = 0, len = list.length; i < len; i++) {
list[i].value = "foo";
}
但是,旧版本的IE不支持getElementsByClassName()
(直到IE9)。如果你想让普通的JS版本适用于旧的浏览器,那么当不支持时,你必须替换getElementsByClassName()
。您可以通过Google找到许多实现。这是其中之一:http://robertnyman.com/2008/05/27/the-ultimate-getelementsbyclassname-anno-2008/。
像jQuery这样的框架对于这种操作非常非常有用,并且它们具有更好的跨浏览器和旧浏览器支持。在jQuery中,这个操作几乎无处不在,只是这一行。
$(".exampleClass").val("foo");
如果你想要良好的跨浏览器支持,但想要比jQuery更轻的东西,你可以只使用Sizzle选择器库(这是在jQuery中使用的),在这种情况下代码将是这样的:
var list = Sizzle('.exampleClass');
for (var i = 0, len = list.length; i < len; i++) {
list[i].value = "foo";
}