这是我的小提琴: http://jsfiddle.net/dQ6vZ/22/
我有一个案例,我有重复元素和一些数值。
<div class="chars">
<textarea></textarea>
<span class="myVal">5</span>
<span class="pres"> - preserved: 5</span>
</div>
<div class="chars">
<textarea></textarea>
<span class="myVal">10</span>
<span class="pres"> - preserved: 10</span>
</div>
在键盘事件上(键入文本时)我应该使用类myVal保留span元素中的第一个原始值,但是在我键入的元素中更新值。
因此,如果原始值为5,我需要保留5,同时用新值替换用户可见的值。
我的开头看起来像这样:
var new_value = 0;
$( ".chars" ).keyup(function() {
var preserved_increment = parseInt($(this).find(".myVal").text());
var text_length = parseInt($(this).find("textarea").val().length);
new_value = text_length + preserved_increment;
$(this).find(".myVal").text( new_value );
$(this).find(".pres").text( " - not preserved: " + preserved_increment );
});
答案 0 :(得分:1)
使用data function provided by jQuery执行此任务。
我已更新您的代码以保留文本区域内的原始值。 jsfiddle
要访问原始值,只需致电:
var originalValue = $(this).find(".myVal").data("original")
答案 1 :(得分:1)
使用data- *属性,然后使用jQuery的.data
方法获取值
HTML
<div class="chars">
<textarea></textarea>
<span class="myVal" data-preserved="5">5</span>
<span class="pres"> - preserved: 5</span>
</div>
JS
var preserved_increment = parseInt($(this).find(".myVal").data("preserved"));