我有一个问题,我无法解决。 在我的班上,我设置了:
text.Attributes.Add("oldValue", text.Text);
调试代码我可以看到正确设置了值。当我使用chrome查看页面源时,我看到以下内容:
<input name="astextMon" type="text" value="4,25"
id="textMon" class="inputText"
autocomplete="on"
onfocus="ValidateReadStatus(this.id,this.ValueId);SetFocus(this.id);"
valueid="408412"
oldvalue="4,25"
onchange="return GridOnChange('0;0',this,'textMon',1,true);"
onkeydown="return GridOnKeyDown(this.id,'0;0');"
ondblclick="SetTextPos('0;0');"
>
如您所见,oldvalue
属性已设置且值正确,但如果我尝试访问该属性,则始终会undefined
。即使从Chrome控制台访问元素也是如此。
我在这里缺少什么?
EDIT。在此处放置代码时,会发生name属性中的拼写错误。那不是问题。我认为区分大小写也不是问题,因为当我删除时:
text.Attributes.Add("oldValue", text.Text);
来自我的班级,oldvalue =&#34; 4,25&#34;属性从元素中消失。我也尝试将oldValue更改为oldvalue,但同样的问题仍然存在。
我正在尝试使用
访问该对象alert(element.oldvalue) or alert(element["oldvalue"]) or
alert(element["oldValue"]) or alert(element["oldValue"]) none work.
如果我输入alert(element.value)
它会正确警告值属性。
答案 0 :(得分:0)
也许问题是在你的代码片段中输入标记无效,在name属性之后你必须添加一个引号char。
<input name="astextMon" ...>
答案 1 :(得分:0)
错过name=astextMon"
中的第一个引号,将其更改为name="astextMon"
答案 2 :(得分:0)
JavaScript区分大小写:
... oldvalue="4,25" ...
和
text.Attributes.Add("oldValue", text.Text);
请参阅2 不同的属性。
答案 3 :(得分:0)
您可以使用类似的内容来获取您定义的属性:
document.getElementById('textMon').attributes['oldvalue'].value;
您将获得:oldvalue: 4,25
更多的事情:
name=astextMon"
应为name="astextMon"
答案 4 :(得分:0)
好的,所以我用
解决了我的问题$(element).attr("oldValue");
我不知道为什么在使用JQuery时我可以很好地访问该属性,但没有它它是未定义的。如果有人有答案,我很乐意听到。