如何更新已存在的元素的值?

时间:2017-09-12 18:09:52

标签: javascript jquery

我的代码中有些东西已经关闭,因为值没有得到更新。循环遍历表格元素时,我检查数据属性。如果数据属性'文字滚动'存在的代码应该附加新的div元素。如果不存在,我只会更新现有元素的值。以下是我的代码示例:

value = $.trim(decodeURIComponent(obj.DATA[elementID]['value']));

if($(this).attr('data-text')){
    console.log('Test Value: '+value);
    if(!$(this).find('div').length){
        $(this).append('<div class="hm_textScroll">'+value+'</div>');
    }else{
        $('.hm_textScroll').val("Test");  
        console.log($(this).find('div').attr('class'))
    }
}

如上所示,我设置了两个控制台,一个用于值,另一个用于更新元素值。到目前为止,第一个控制台始终输出正确的值第二个控制台确实输出了元素类,但值永远不会更新。该控制台上方的行应更新该值。有人能告诉我我的代码在哪里破坏了吗?那是因为我的代码在飞行中创建元素吗?

2 个答案:

答案 0 :(得分:2)

您需要使用html()text()而不是val(),具体取决于您尝试设置为div的值的类型。两者都适用于普通字符串,但您需要使用html()来插入HTML模板。

 $('.hm_textScroll').html("Test");

或者

$('.hm_textScroll').text("Test");

答案 1 :(得分:0)

JQuery类选择器返回一个对象数组(多个元素可以具有相同的类),因此您应该从数组中选择第一个项目。
改变这一行:
    $(&#39; .hm_textScroll&#39;)VAL。(&#34;试验&#34);

    $(&#39; .hm_textScroll&#39;)[0] .VAL(&#34;试验&#34)。