用jquery动态添加html任何标签的自定义属性

由于用到国际化,且使用jquery.numberformatter-1.1.3.js类库。在对所有td做国际化时,发现有被重复国际化的现象。
国际化方法如:i18_data("#testTable tr td","${i18("jquery-numberformatter.local")}");即testTable 表的所有td将被国际化。
问题:调用上述方法对A表的列进行国际化后,再次调用上述方法对B表进行国际化时,发现会再次国际化A表的列后再国际化B表的列,这就导致A表被国际化两次,出现数据错误。
经过仔细定位,还是没能找到为什么会再次国际化A表的原因,因此无法修复该问题。有可能是类库的bug。
解决办法:
为了防止被调用两次,只能做一个标识,标识td已经被国际化。就动态的给每个被格式化的td加了一个随意的属性hf,方法如下:
var hf = $(this).attr('hf');
            if(null == hf || undefined == hf)
            {
               //执行国际化
                $(this).attr('hf',true);//设置标识已经被国际化。
            }

特意写下来的原因是:说明了可以用JS动态添加html任何标签的自定义属性

你可能感兴趣的:(Web设计+设计小技巧)