1

出现语法错误,无法识别的表达式:此代码上的 [nodeName=z:row]。

<script type="text/javascript" src="https://.../jquery.js"></script> 
<script type="text/javascript" src="https://..//spservices.js"></script> 
<script>
$(document).ready(function(){
 var queryStringValues = $().SPServices.SPGetQueryString();
 var t = queryStringValues["Title"];
 var query = "<Query><Where><Eq><FieldRef Name='Title'/><Value Type='Text'>" + t + "</Value></Eq></Where></Query>";
 var url = window.location;
 $().SPServices({
            operation: "GetListItems",
            listName: "ApprovalCustom",
            async: false,
            CAMLQuery: query,
            completefunc: function (xData, Status) {
                $(xData.responseXML).find("[nodeName=z:row]").each(function(){
                    id = $(this).attr("ows_ID");
                    url = $().SPServices.SPGetCurrentSite() + "/Lists/ApprovalCustom/DispForm.aspx?ID=" + id;
                    window.location = url;
                });
                }
        });
   });
4

2 回答 2

1

您需要引用属性的值:.find('[nodeName="z:row"]') 始终引用属性值。

并且不要$()用于 XML 数据。使用$.parseXML(). http://api.jquery.com/jQuery.parseXML/

于 2012-08-26T22:30:10.400 回答
0

如果您使用的是 jquery 1.7 及更高版本,则语法无法再使用,请参阅jQuery Library for SharePoint Web Services (SPServices) v0.7.0 Beta 1。请使用 $(xData.responseXML).SPFilterNode("z:row").each(function() { }); 反而。

于 2012-12-05T03:19:14.627 回答