我有以下问题:
我想循环遍历<td>
中的所有document
- 元素,并将文本替换为Sharepoint中的一些数据(通过使用SP.Services)。
updateData ();
function updateData () {
$(document).find('td').each (function() {
var contentTD = $(this).text().trim();
if (contentTD.indexOf("ABC\\") >= 0) {
$(this).text(getUserDataFromSP (contentTD, 'Title'));
}
});
}
如果找到<td>
中的特定文本,则应将其传递给此函数:
function getUserDataFromSP (userName, neededInformation) {
var managerName;
var user = userName;
$().SPServices({
operation: "GetUserProfileByName",
async: false,
AccountName: user,
completefunc: function (xData, Status) {
managerName = $(xData.responseXML).text();
var managerLength = managerName.length;
var indexofManager = managerName.indexOf(neededInformation);
managerName = managerName.substring(indexofManager + 11, managerLength);
var indexOffalse = managerName.indexOf("false");
managerName = managerName.substring(0, indexOffalse);
}
});
return managerName
}
问题是,如果我通过contentTD
,它就不起作用:getUserDataFromSP (contentTD, 'Title')
但是,如果我这样做,它可以工作:getUserDataFromSP ("ABC\\testUserName", 'Title')
好像是$(this).text().trim()
!= String?
有什么建议吗?
答案 0 :(得分:0)
找到了解决方案:
我不得不考虑&#34; \&#34;是一个逃脱角色。
所以我只需要删除一个&#34; \&#34;在传递的字符串中:
contentTD = "ABC\userTestName"