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



我有以下问题:

我想循环通过document中的所有<td> -元素,并用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?

有什么建议吗?

已找到解决方案:

我不得不考虑""是一个转义字符。

所以我只需要在传递的字符串中删除一个"":

contentTD = "ABCuserTestName" 

相关内容

  • 没有找到相关文章

最新更新