Javascript 如何计算SharePoint库/列表中的新项目数?

Javascript 如何计算SharePoint库/列表中的新项目数?,javascript,css,sharepoint,Javascript,Css,Sharepoint,在SharePoint Online中,库中的新文档有一个绿色符号。我发现这个类叫做“ms newdocument icon”。如何检查文档库中有多少项具有ms newdocument icons类 <script type="text/javascript"> var clientContext = null; var web = null; var listItems = null; var list = null; ExecuteOrDelayUntilScriptLoade

在SharePoint Online中,库中的新文档有一个绿色符号。我发现这个类叫做“ms newdocument icon”。如何检查文档库中有多少项具有ms newdocument icons类

<script type="text/javascript">
var clientContext = null;
var web = null;
var listItems = null;
var list = null;

ExecuteOrDelayUntilScriptLoaded(Initialize, "sp.js");
function Initialize()
{
    clientContext = new SP.ClientContext.get_current();
    web = clientContext.get_web();
    list = web.get_lists().getByTitle("Document");

    var camlQuery = new SP.CamlQuery();
    var q = "<View></View>";
    camlQuery.set_viewXml(q);
    listItems = list.getItems(camlQuery);
    clientContext.load(listItems);

    clientContext.executeQueryAsync(onListItemsLoadSuccess, onQueryFailed);
}

    function onListItemsLoadSuccess(sender, args) {
        var listItemEnumerator = listItems.getEnumerator();
        while(listItemEnumerator.moveNext()) {
            var newItemsCount = null;
            if() { //$(this).hasClass('ms-newdocument-icon');
            newItemsCount++;
        }
        $('#newItems').html(newItemsCount);
   }

   function onQueryFailed(sender, args) {
     alert('request failed ' + args.get_message() + '\n' + args.get_stackTrace());
}
</script>

<div class="newItemsContent">
    <h2>New items:</h2> <h2 id="newItems"></h2>
</div>

var clientContext=null;
var-web=null;
var listItems=null;
var list=null;
ExecuteOrderLayUntilScriptLoaded(初始化“sp.js”);
函数初始化()
{
clientContext=new SP.clientContext.get_current();
web=clientContext.get_web();
list=web.get_list().getByTitle(“文档”);
var camlQuery=new SP.camlQuery();
var q=“”;
camlQuery.set_viewXml(q);
listItems=list.getItems(camlQuery);
加载(listItems);
executeQueryAsync(onListItemsLoadSuccess,onQueryFailed);
}
函数onListItemsLoadSuccess(发送方,参数){
var listItemEnumerator=listItems.getEnumerator();
while(listItemEnumerator.moveNext()){
var newitemscont=null;
if(){/$(this.hasClass('ms-newdocument-icon');
newitemscont++;
}
$('#newItems').html(newitemscont);
}
函数onQueryFailed(发送方,参数){
警报('请求失败'+args.get_message()+'\n'+args.get_stackTrace());
}
新项目:

您提到的类仅用于指示页面中呈现的HTML中的新项目。图标不存储在列表项目数据(字段)中。您可以使用此PS脚本设置新项目的图标显示天数:

$wa = Get-SPWebAppication -Identity:http://webappurl
$wa.DaysToShowNewIndicator = {SomeInteger}
$wa.Update()
因此,如果您想知道有多少文档/项目显示了此图标,您需要读取此参数,然后在CAML查询中使用它。读取所有项目,然后检查它们是否是在过去N天内创建的,这不是一个好主意。更好的方法是使用当前日期和DaysToShowNewIndicator值构建CAML查询。