如何重写此html以验证为xhtml 1.0 strict?

<div>
    <a href="link.html">
        <p>Some text</p>
        <ul>
            <li>Item 1</li>
        <li>Item 2</li>
        <li>Item 3</li>
        </ul>
    </a>
</div>

我的目的是让整个div作为一个可点击的链接。中的内容仅描述目标页的内容。W3验证器说我不能在SPAN标记(<p>)中有块元素(<a>)。
如何重新排列以使div保持块链接?

最佳答案

不允许将块级元素包装到内联级元素中,因此有一些替代方法。
您可以在<a href="link.html">...</a>

<div>
    <p><a href="link.html">Some text</a></p>
    <ul>
        <li><a href="link.html">Item 1</a></li>
        <li><a href="link.html">Item 2</a></li>
        <li><a href="link.html">Item 3</a></li>
    </ul>
</div>​

您可以添加一个javascriptonclick函数来重现相同的结果。
 //jQuery
 ​$('div').click(function() {
     window.location = 'link.html';
 });​​​​​​

 //Non jQuery
 document.getElementById('yourDiv').onclick = function() {
     window.location = 'link.html';
 }

如果使用javascript,请确保使用css使内容明显是链接。我推荐伪类
div {
    text-decoration: underline;
    color: #0000FF;//or whatever your link color is
}
div li:hover, p:hover {
    color: #CC00FF;
    cursor: pointer;
}

·

09-26 11:22