如何在jQuery中选择以下内容?
<ns:text value="my value" />
我已尝试过下面的片段,但无济于事。这可能吗?
var x= $('ns:text').attr('value');
return x;
var x= $('text').attr('value');
return x;
答案 0 :(得分:27)
您正在寻找:
var x= $('ns\\:text').attr('value');
return x;
价:
答案 1 :(得分:3)
答案 2 :(得分:2)
我尝试了“[nodeName = gd:when]”版本并且它首先工作 - 但是当我将jQuery从1.4.3升级到1.5.2时它就破了。不确定中间哪个版本是问题。
解决方案是使用“gd \:when”方法 - 但它在Google Chrome中不起作用 - 所以我最终提出了一种适用于我尝试的所有浏览器的方法:
// Need to work out how to handle namespaces on some elements.
var namespace = "gd\\:"; // Most prefer this...
var startDateElement = $(this).find( namespace + "when" );
if( startDateElement.length == 0 )
{
namespace = ""; // ...but some don't!
startDateElement = $(this).find( namespace + "when" );
}
然后,您可以将该前缀用于任何更多的命名空间元素。
请参阅http://www.kajabity.com/index.php/2011/05/handling-xml-elements-with-namespaces-in-jquery/。
答案 3 :(得分:1)
答案 4 :(得分:0)
$('ns\\\:text').attr('value')
似乎是答案,但有些人提到一些浏览器可能不支持它...但我不知道这是因为这是一个jquery库,除非jquery没有实现它然后可能是这样的情况:
支持并测试:ie8,FF 3.6,chrome 3.0 我没有在其他浏览器上测试它,因为我没有它们,但如果有人有答案,如果它适用于其他浏览器,那么请添加下面的评论......
答案 5 :(得分:0)
$( '[节点名称= NS:文本]')ATTR( '值');
示例:
$('[nodeName=geo:lat]').attr('value');
$('[nodeName=geo:lat]').val();