选择标签,替换值(JavaScript)

时间:2011-09-14 17:26:16

标签: javascript html dom

在今天之前,我从未使用过JavaScript,所以当我走到这里时,我正在努力学习。

在网页上我想选择所有带有“exampleClass”类的html输入标签,我想替换该值。任何人都可以向我展示如何做到这一点的好的/快速的代码片段或指向我正确的方向到另一个线程或教程吗?

谢谢!

5 个答案:

答案 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";
}

小提琴演示:http://jsfiddle.net/maniator/4aWje/

答案 4 :(得分:0)

普通Javascript

在普通的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这样的框架对于这种操作非常非常有用,并且它们具有更好的跨浏览器和旧浏览器支持。在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";
}