我使用Eclipse并编写带有HTML5内容的jsp文件。 所以我有这样一句话:
<div class="test" data-role="test123">
在Eclipse中,我收到警告:
Undefined attribute name (data-role)
需要做什么才能再出现这些警告?在HTML5中,允许使用此属性(data- *),如您所见:http://ejohn.org/blog/html-5-data-attributes/
最诚挚的问候。
答案 0 :(得分:26)
似乎Eclipse现在仍然存在一些验证HTML5元素和属性的问题。
我正在运行Mars 4.5.1并且我已经有关于<main>
元素的警告,尽管没有关于<section>
元素的警告。
但是有一个解决方案!
Window > Preferences > Web > HTML Files > Validation
在这里,您可以勾选Ignore specified element names in validation
复选框,并输入Eclipse错误警告您的任何元素的名称。
在您的情况下,您需要勾选Ignore specified attribute names in validation
复选框并输入data-role
属性。
单击“应用”后,Eclipse将要求您对项目进行完整验证。选择“是”,更改将生效。
没有更多潦草的黄线! :d
答案 1 :(得分:18)
您的doctype
适用于HTML 4.01。
在HTML 5中添加了data- *属性.HTML 5的doctype基本上是
<!DOCTYPE html SYSTEM "about:legacy-compat">
或
<!DOCTYPE html>
答案 2 :(得分:9)
较新版本的Eclipse支持HTML5中允许的HTML5标记和data- *属性。但是,在使用角色属性时,根据ARIA Roles Model和XHTML Role Attribute Module的正确语法不会在角色属性前加上数据 - * 只留下角色而不是数据角色
所以<ul role="menubar">
比<ul data-role="menubar">
更正确。可以使用(X)HTML5 Validator检查语法的有效性。 jQuery Mobile使用了相当广泛的数据角色属性,但我不确定原因。
注意:如果您升级并且仍然收到有关data- *属性的警告,您可能需要考虑更新或删除任何已安装的语法检查程序,例如JTidy。从Indigo Service Release 1开始,默认情况下,role属性会继续在Eclipse中触发未定义的属性警告。
答案 3 :(得分:4)
当我正在编写AngularJS
时,我使用了Aptana 3.6窗口&gt;首
答案 4 :(得分:3)
我在Mac OS X上使用Aptana Studio plugin;如果我转到Eclipse > Preferences > Aptana Studio > Validation > HTML
,并创建过滤器*data-role*
,我就不会收到此警告。
我相信Windows是Window > Preferences > Aptana Studio > Validation > HTML
答案 5 :(得分:2)
Eclipse 3.6在:
下引入了一个新字段 Validation -> HTML Syntax: Ignore specified attribute names in validation
添加您希望验证者忽略的OpenGraph,RDFa或其他非HTML5属性:
您需要重新验证项目,然后警告就会消失。
答案 6 :(得分:1)
Eclipse 遵守 DOCTYPE 声明。就我而言,解决方案是在包含 HTML 代码的文件的第一行使用上面的代码:
<!DOCTYPE html>
与此相关,还有另一个问题,已经回答: