验证(HTML5):属性“X”不是元素“Y”的有效属性

时间:2011-09-21 20:20:51

标签: javascript jquery html visual-studio

我经常这样做:

<input type="text" id="whatever" quantity="2" price="15" />

导致VS2010发出上述警告 - 我可以接受警告,因为能够在表单字段上挂起数据的固有价值(这允许我稍后在代码中使用它们,例如{{1} },或简称$('#whatever').attr('price'))使滋扰警告值得承担。但是,我想知道这个问题的规范方法是什么......

TIA - ekkis

2 个答案:

答案 0 :(得分:6)

您应该将quantity="2" price="15"替换为data-quantity="2" data-price="15" - 这有额外的好处,可以通过jQuery的.data()方法访问这些值:

alert( $('#whatever').data('price') ); // displays 15

http://blog.jquery.com/2011/05/03/jquery-16-released/

答案 1 :(得分:2)

如果您正在使用jQuery,则可以使用.data()将这些变量存储在对象本身中:

$('#whatever').data('quantity', 2);

但如果您绝对需要将信息保存在HTML文件中,我建议您将<input />拆分为多个<input />

<input type="hidden" id="whatever-quantity" value="2" />
<input type="hidden" id="whatever-price" value="15" />

但是对于完整的HTML5非常棒,只需在您的属性中添加data-

<input type="text" id="whatever" data-quantity="2" data-price="15" />