1

これがかなり単純であることを願っていますが、セレクター、find()、content()、text() などで多くのグーグル検索と実験を行ったので、これを正しく理解できていません。どんな助けでも大歓迎です。

Web ページにカスタム マークアップがあります。

<div id="myGrid">
    <url>www.google.com</url>
    <columns>
        <column>ID</column>
        <column>Position</column>
        <column>FirstName</column>
        <column>LastName</column>
    </columns>
</div>

のテキストを<url>変数に選択する必要があります。<columns>のコレクションを変数 (配列/コレクション)に取得する必要もあります。

タグ名が識別子になります。つまり、ID や CLASS を使用してこれらの要素を見つけることはできません。

それは実行可能であるように思えますが、これまでの私の試みは失敗と失敗です...どんな助けも大歓迎です。

ありがとう!

4

4 に答える 4

2

非常に基本的なものなので、URL のヘルプを提供します。これは、列に役立つはずです。

Jquery は、指定した要素を選択します。任意の要素名を使用できます。ここでjsfiddleをチェックしてください。

IE の問題が心配な場合はdocument.createElement('url')、URL がドキュメントの要素であることを IE に伝える which を使用します。

document.createElement('url');  //crutch for IE

$(document).ready(function() {
    alert($('url').html());  
})​
于 2012-07-16T15:07:17.430 に答える
1
var $t = {}
var i = 0;   

$('#myGrid').find('column').each(function(){

    $t[i] = $(this).text();
    i++;

});

alert($('#myGrid url').text());
alert($t.toSource());
于 2012-07-16T15:10:13.037 に答える
0
var url = $("url").html();
var columns = $.makeArray($("column").find("columns").html());

上記をテストしていませんが、より良い方法は jQuery の「each」関数を使用することです。

var a = Array();
$('#myGrid').find('column').each(function(){
    a.push($(this).html());
});

そしてテストする:alert(a[2]);ここで、番号は配列番号です。

url はあなたの URL (当たり前) で、columns はあなたの列配列です。1つしかない場合、またはこれを関数内で使用している場合、これはうまく機能します。その場合、セレクターを次のように変更します$("url", this).html();

于 2012-07-16T15:07:06.713 に答える
0

これ(jsbin版http://jsbin.com/ucivav)はどうですか?

var url = $("#myGrid url").text();
var $cols = $("#myGrid columns column");
alert(url);
alert($cols.first().text());
于 2012-07-16T15:07:24.207 に答える