0

我想将 jQuery 选择器用作字符串文字而不是 ojbect。

JS可以做到这一点吗?

标记

    <levelTwo>
        <head0>
            <something></something>
        </head0>
    </levelTwo>

JS

 var jamie = $('something').parent();

 //Desired useage
 typeOf(jamie) 
 // String
 console.info(jamie); 
 //"head0"
4

2 回答 2

1
$('something').parent().prop("tagName").toLowerCase()

您还可以定义一个.toString()

http://jsfiddle.net/Rq6Kz/

$.fn.toString = function() {
      return this[0] ? this[0].nodeName.toLowerCase() : "";
};

console.info($("div").toString()); //"div"

这在某些上下文中被隐式调用,例如警报:

alert($("div")); //alerts "div"

http://jsfiddle.net/Rq6Kz/1/

于 2013-02-28T12:24:02.307 回答
0

你尝试在 XML 上使用 jQuery,有点棘手。要从 jQuery 选择器访问 DOM 元素,您可以使用“[0]”。

//<head0 name="head1">text</head0>
$(element)[0].getAttribute('name');
//result head1
$(element)[0].innerHTML();
//result "text"
$(element)[0].valueOf();
//results <head0 name="head1">
$(element)[0].nodeName.toLowerCase();
//results head0

您可能还需要来自 jQuery http://api.jquery.com/jQuery.parseXML/的 parseXML

于 2013-02-28T12:39:37.883 回答