将数组内容存储在 div class 中并显示清晰的名称

Storing array content in a div class and showing clear names

我有几个用户在活动目录中。在活动目录中,他们有像 i:0#.w|opmain\name 这样的用户名。它每天同步。

使用 UPS(用户配置文件服务)我通常会得到 username (f.ex.borisj)。为了获得真实姓名(例如鲍里斯约翰逊),我必须在 UPS 中进行查找。

我想在 UPS 中查询以获得明确的名称。关于这个我有一个函数 getUserInformation(username,type)onChangeRequestor():

function getUserInformation(username, type) {    
    var clientContext = new SP.ClientContext.get_current();
    var peopleManager = new SP.UserProfiles.PeopleManager(clientContext);
    personProperties = peopleManager.getPropertiesFor(username);
    clientContext.load(personProperties);        
    clientContext.executeQueryAsync(function () { processUserInformationSuccess(personProperties, type) }, function () { processUserInformationFail(type) });

}

function onChangeRequestor() {    
    var logins = replaceSubstring(NWF$("#" + varRequestorID).val(), ";", "");
    var accountArray = logins.split("|")
    var username = accountArray[1];    
    getUserInformation(username, "requestorinfo");     
}

所以我创建了一个数组并遍历它:

var userarray = new Array();
var username; 
var logins;
var accountArray;
for (var i = 0; i < userarray.length; i++) {
    logins = replaceSubstring(NWF$("#" + varRequestorID).val(), ";", "");
    accountArray = logins.split("|")
    username = accountArray[1];
    getUserInformation("opmain\" + userarray[i], lookupUserDefaultName); 
}
userarray.push(username);

我想将内容(清晰的名称)存储在 div class 中,但我不知道如何。

我想到了这样的事情,但对我来说意义不大:

var <div class="users">Usernames</div>
var username = document.getElementsByClassName("users");
for (var i = 0; i < usernames.length; i++){
    usernames[i].className += " new_class";
}
lookupUserDispName();

这里是 lookupUserDispName

function lookupUserDispName(){
     for (var i = 0; i < userarray.length; i++) {
        getUserInformation(userarray[i], lookupUser); 
        OnChangeRequestor();
        requestor = displayName; 
    }
}

好吧,据我了解,您想要的是获取用户名,并将此名称用作 div.

的 class 名称

假设您有这样一个 div:

<div id="userDiv"></div>

您可以通过以下操作向此 div 添加 class 名称:

var div = document.getElementbyId("userDiv");
div.className = username; //or div.classList.add(username); if you don't want to override existing classes