使用jQuery生成/选择非标准HTML标签,这是一个好主意吗?

max*_*mus 5 html javascript jquery javascript-framework

我注意到jQuery可以创建和访问不存在/非标准的HTML标记.例如,

$('body').append('<fake></fake>').html('blah');
var foo = $('fake').html(); // foo === 'blah'
Run Code Online (Sandbox Code Playgroud)

这会在某种验证中破裂吗?这是一个坏主意,还是有时候这是有用的?主要问题是,虽然可以做到,但是应该这样做吗?

提前致谢!

Lev*_*ith 0

确实没有理由做这样的事情。更好的方法是使用类似的类

<p class = "my_class">
Run Code Online (Sandbox Code Playgroud)

然后做类似的事情

$('p.my_class').html('bah');
Run Code Online (Sandbox Code Playgroud)

编辑:

使用假标签不好的主要原因是,它会使您的 HTML 无效,并且可能会破坏某些浏览器上页面的呈现,因为它们不知道如何处理您创建的标签(尽管大多数浏览器会处理它)作为某种 DIV)。

这就是这不好的主要原因,它只是违反了标准并导致难以维护的混乱代码,因为您必须解释自定义标签的用途。

如果您确实决定使用自定义标记,则可以将网页制作为有效的 XML 文件,然后使用 XSLT 将 XML 转换为有效的 HTML。但在这种情况下,我只会坚持上课。