0
<H1 class=extraBottomMargin>Tell us the name of your employers</H1>
        <UIWIDGET>
            <FIELDSET>
                <DIV>
                    <INPUT id=viewEnterEmployerNames_q1 tabIndex=1 maxLength=75 placeholder="Employer">
                </DIV>
            </FIELDSET>
        </UIWIDGET>
        <DIV class="rightRail watermark"><IMG src="app/img/RR_Watermark.png"></div>

我运行一个命令jQuery("above html").find("UIWIDGET").html()

这适用于除 IE 8 以外的所有浏览器。请指教。

请注意,uiwidget 是我的自定义标签,因此请忽略建议对此进行任何改进的部分。

4

2 回答 2

2

没有命名的 HTML 标记UIWIDGET- 在较旧的 IE 版本中,如果不先创建它们,访问非标准标记将无法工作。

您可以通过调用轻松地做到这一点document.createElement('UIWIDGET')- 这就是 html5shiv 等库为 HTML5 元素所做的事情。

如果您打算使用一些 HTML5 标签,您可以添加html5shiv并在包含 html5shiv 脚本之前运行以下代码:html5.options.elements += ' uiwidget';

但是,如果您根本不使用无效的 HTML 标签会更好!

于 2012-10-25T23:51:09.043 回答
0
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns:custom="http://www.test.com">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js" type="text/javascript"></script>
<body>
<H1 class=extraBottomMargin>Tell us the name of your employers</H1>
        <custom:uiwidget>
            <FIELDSET>
                <DIV>
                    <INPUT id=viewEnterEmployerNames_q1 tabIndex=1 maxLength=75 placeholder="Employer">
                </DIV>
            </FIELDSET>
        </custom:uiwidget>
        <DIV class="rightRail watermark"><IMG src="app/img/RR_Watermark.png"></div>
</body>

<script>    
$(function() {
   alert($("uiwidget").html());
});
</script>

这将在 IE 中工作,但WON'T在其他浏览器中工作!!!这是 IE 定义和支持自定义标签的官方方式。这反映在.getElementsByTagName()方法上,所以我看不到像<mytag>在 IE 中那样搜索自定义标签的方法,无论您使用 jQuery 或其他库还是直接调用.getElementsByTagName(). 搜索 Google,您可以找到许多关于此问题的官方和非官方文章。

于 2012-10-26T00:25:57.697 回答