Javascript 数据集';s或get';这是错误的项目
我使用的东西与此类似:Javascript 数据集';s或get';这是错误的项目,javascript,jquery,selector,Javascript,Jquery,Selector,我使用的东西与此类似: $("input").each(function(number,element) { var inputField=$(element); if(inputField.data("FieldLocalizationStrings") == null) inputField.data("FieldLocalizationStrings", []); } 并添加数据: var data=inputField.data("FieldLocal
$("input").each(function(number,element)
{
var inputField=$(element);
if(inputField.data("FieldLocalizationStrings") == null)
inputField.data("FieldLocalizationStrings", []);
}
并添加数据:
var data=inputField.data("FieldLocalizationStrings");
data.push({Language:inputField.attr("language"),Value:inputField.val()});
但当我尝试检索时,它似乎忽略了它保存在哪个DOM元素上,而只是像保存在同一个元素上一样加载它。有人知道为什么会这样吗?我以前也用过同样的技术,它被证明是有效的,但现在我不明白为什么这是haping。
我确认它不会将其保存到多个输入字段中,但在加载时,它会按原样操作。更新
增加
-对于文档,您将获得值作为第二个参数。如果您想要为元素设置数据,您应该使用它。不能这样做。在这种情况下,它是随着时间的推移添加的,不仅仅是在初始化之后,但这并不能解决我所担心的加载问题。@Update,添加了一行,它将使“data”变量,这已经和你建议的一样了,对吧?还是我遗漏了什么?我马上给你做一把小提琴,你可以检查一下out@MichaelOverhorst-检查fiddleready是否如文档中所述,变量名称在JavaScript afaik中并不重要。
$("input").each(function(number,element)
{
var inputField=$(element);
if(inputField.data("FieldLocalizationStrings") == null)
inputField.data("FieldLocalizationStrings", [
{
Language:inputField.attr("language"),
Value:inputField.val()
}
]);
//If later you want to append to the data
inputField.data("FieldLocalizationStrings").push({/* Your data */})
}