将jQuery text() - 变量传递给函数

时间:2016-10-19 14:51:02

标签: jquery spservices

我有以下问题:

我想循环遍历<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?

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

找到了解决方案:

我不得不考虑&#34; \&#34;是一个逃脱角色。

所以我只需要删除一个&#34; \&#34;在传递的字符串中:

contentTD = "ABC\userTestName"