是否可以执行以下操作
<body>
<main>
<!-- CONTENT -->
</main>
<foot>
<!-- FOOTER CONTENT -->
</foot>
</body>
如果我然后编写了一些JavaScript,它们可以执行以下操作。请注意,我不希望你写下这里的实际代码。这只是核心功能的一个模型。
for(elem inside main){
elem.makeItBig();
}
for(elem inside foot){
if(elem is img){
elem.makeItSmall();
}
}
我知道这篇文章Is there a way to create your own html tag in HTML5?。但我真的不想创建标签来设置它们的样式,而是为DOM提供标识属性,我可以使用JavaScript将其挂钩。想象一下类似于某个类,但使用的方式是可以使用这些标记将许多PHP生成的部分拼接在一起。
如果在HTML中使用make up标记,浏览器会忽略它,否则会引发错误。
答案 0 :(得分:0)
就我所知,你可以使用自己的标签。
你需要做些什么来让他们在旧的IE浏览器中工作。
更重要的一点是 - 为什么你想要?它不会使您的代码非常易于维护或面向未来。只需在适当的元素上使用类。
答案 1 :(得分:0)
您可以创建自定义标签吗?是。这是个好主意吗?不是因为某些浏览器可能无法将您的标记识别为有效的html标准。你可以查看:http://www.w3.org/MarkUp/html-spec/html-spec_4.html#SEC4.2.1
对于自定义元素规范,您可以查看自定义元素的标准规范:http://w3c.github.io/webcomponents/spec/custom/
答案 2 :(得分:0)
虽然你的方法看起来不错,但想想改变另一组元素的大小......你可能会使用相同的函数,所以为什么不这样做:
var makeItBig = function(elem){...};
for(elem in main){
makeItBig(main[elem]);
}
这样您就不必为需要更改的每个元素创建新方法。
但是,如果你真的需要它,你可以这样做:
var makeItBigFunction = function(){var elem = this; ...};
// create new methods
for(elem in main){
main[elem].makeItBig = makeItBigFunction;
}
// make use of them
for(elem in main){
main[elem].makeItBig();
}
请注意,DOM对象的属性(或方法)与HTML属性之间存在很大差异。
答案 3 :(得分:-1)
随意使用HTML5标记,例如<content>
,<header>
,<footer>
,<aside>
等。
你可以在这里阅读更多关于它们的内容:http://www.w3schools.com/html/html5_new_elements.asp在&#34;新的语义/结构元素&#34;中。这些应被视为大多数现代浏览器都支持。实际上,您可能使用任何其他自定义标签,但其默认属性(显示,位置等)可能无法预测。