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()いるため、IE のよう<mytag>にカスタム タグを検索する方法はないと思います。jQuery や他のライブラリを使用するか、直接呼び出すかは問題ではありません.getElementsByTagName()。Google で検索すると、この問題に関する多くの公式および非公式の記事を見つけることができます。

于 2012-10-26T00:25:57.697 に答える