我正在使用AJAX来接收XML响应,然后我需要对其进行操作。通过使用jQuery的上下文选项,我可以从XML数据中进行选择,但我仍然无法写入。
$('blah', xml)
选择xml就好了,但是
$('blah', xml).removeClass( 'myClass' )
似乎对xml变量没有任何作用!如何实现我正在寻找的功能?
示例:
var data = null;
$(document).ready(function(){
$.ajax({
type:"GET",
url:"blah/blah.jsp",
success:function(msg)
{
data = msg;
init();
}
});
function init()
{
$('#myElement', data).removeClass('hidden');//removeAttr('class') also fails
}
示例xml文件:
<root>
<div>
<!--lots of content -->
</div>
<div>
<p id = "myElement<->" class = "hidden">
Test!
</p>
</div>
</root>
答案 0 :(得分:1)
这适合我。
<html>
<head>
<title>Test Page</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<script type="text/javascript">
$(function()
{
var data = null;
$.ajax({
type:"GET",
url:"sample.xml",
dataType: 'xml',
success:function(msg)
{
init( $(msg) );
}
});
function init( $xml )
{
var $myElement = $xml.find( '#myElement' );
$myElement.removeAttr( 'class' );
console.log( $myElement );
}
});
</script>
</head>
<body>
</body>
</html>
这是sample.xml
<?xml version="1.0" encoding="UTF-8"?>
<root>
<div>
</div>
<div>
<p id = "myElement" class = "hidden">
Test!
</p>
</div>
</root>
因此请确保您使用"xml"
作为dataType
选项请求,并且您的JSP页面返回具有正确Content-Type标头(text / xml)的内容