我的代码中有些东西已经关闭,因为值没有得到更新。循环遍历表格元素时,我检查数据属性。如果数据属性'文字滚动'存在的代码应该附加新的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'))
}
}
如上所示,我设置了两个控制台,一个用于值,另一个用于更新元素值。到目前为止,第一个控制台始终输出正确的值第二个控制台确实输出了元素类,但值永远不会更新。该控制台上方的行应更新该值。有人能告诉我我的代码在哪里破坏了吗?那是因为我的代码在飞行中创建元素吗?
答案 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)。