我想让我的网页w3c有效。所以我一步一步纠正错误有效,我使用html5 doctype,我发现错误
第348行,第81列:在HTML5 + RDFa 1.1 Lite文档中的li元素上不允许使用RDFa Core属性rel。请考虑检查HTML5 + RDFa 1.1模式。
所以我试图替换id而不是rel,w3c有效但代码不起作用。如何在不使用rel的情况下使用以下代码?
<script type="text/javascript">
$(document).ready(function() {
$(".tab_content").hide();
$(".tab_content:first").show();
$("ul.tabs li").click(function() {
$("ul.tabs li").removeClass("active");
$(this).addClass("active");
$(".tab_content").hide();
var activeTab = $(this).attr("rel");
$("#"+activeTab).fadeIn();
});
});
</script>
<ul class="tabs">
<li class="active" rel="tab2"> Reviews </li><li rel="tab3">News</li><li rel="tab4"> Articles </li></ul>
<div id="tab1" class="tab_content" style="width:326px;">data</div>
<div id="tab2" class="tab_content" style="width:326px;">data tab2</div>
答案 0 :(得分:2)
手动(不使用Javascript)浏览HTML,找到每个<li>
元素,并将rel
替换为id
。确保页面上的ID是唯一的。因此,您必须将其更改为liTab2
,liTab3
等
然后,在您的jQuery中,将$(this).attr("rel");
替换为this.id.replace("li", "").toLowerCase();
。
不完全确定你在答案中还有什么需要......
答案 1 :(得分:2)
对于与标签相关联的所有li
元素,请更改:
<li class="active" rel="tab2"> Reviews </li>
为:
<li class="active" data-target="tab2"> Reviews </li>
并改变
var activeTab = $(this).attr("rel");
为:
var activeTab = $(this).data("target");
请注意,在将HTML5 data- *属性拉入对象的数据集时,使用jQuery默认行为。