Jquery选择自定义标记的innerText

时间:2012-07-16 14:56:26

标签: jquery jquery-selectors innertext

我希望这很简单,但已经做了大量的谷歌搜索和实验选择器,find(),content(),text()等我不是很正确。任何帮助将不胜感激。

我在网页上有一些自定义标记。

<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 个答案:

答案 0 :(得分:2)

我会帮你提供帮助,因为它非常基本。这应该可以帮助你完成列。

Jquery将选择您提供的任何元素。您可以使用任何元素名称。在这里查看jsfiddle

如果您担心IE问题,请使用document.createElement('url')告诉IE网址是文档的元素

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

$(document).ready(function() {
    alert($('url').html());  
})​

答案 1 :(得分:1)

var $t = {}
var i = 0;   

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

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

});

alert($('#myGrid url').text());
alert($t.toSource());

答案 2 :(得分: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(duh),列是你的列数组。如果只有一个,或者如果你在一个函数中使用它,这将很有用,在这种情况下,我会将选择器更改为$("url", this).html();

答案 3 :(得分:0)

这个怎么样(jsbin版本http://jsbin.com/ucivav)?

var url = $("#myGrid url").text();
var $cols = $("#myGrid columns column");
alert(url);
alert($cols.first().text());