如何使用Javascript更改跨度标签的类

时间:2014-04-10 15:43:49

标签: javascript jquery html ajax

我有一个像这样的html元素:

<dd><span class="label label-success" id="status">Production</span></dd>

我想将其更改为

<dd><span class="label label-warning" id="status">Idle</span>

基于ws.socket消息。

setTimeout(function(){
            window.ws = new WebSocket('ws://localhost:8088/sock/123');
            window.ws.onmessage = function (evt) {
                field.value = "Idle"
            };
            window.ws.onclose = function (evt){

            }
            window.ws.onopen = function (evt){

            }

        }, 500);

我想将值从Production更改为Idle,将类更改为“label label-warning”。 我知道改变我会这样做的价值:

var field = document.getElementById("status")

但是我不确定如何更改类,并且使用field.value是更改范围文本的正确方法吗?

4 个答案:

答案 0 :(得分:2)

你有jQuery,使用它!

$("#status").text("Idle").removeClass("label-success").addClass("label-warning");

或只是.toggleClass("label-success label-warning");

答案 1 :(得分:1)

使用Jquery

试试这个

$('#status').text('Your Text')  //For setting text
$('#status').removeClass('label-success').addClass('label-warning')

答案 2 :(得分:0)

如果您只是想使用JavaScript而不是jQuery,可以参考这个answer。您可以通过以下方式轻松设置课程:

document.getElementById("whatever").className = "";

答案 3 :(得分:0)

更改类(使用jQuery更方便):

document.getElementsById('status').setAttribute("class","label label-warning");

要更改范围文本的值:

document.getElementsById('status').innerHTML = "Production";