Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript createElement<;a href=variable1>;变量2</a>;_Javascript_Html_Sharepoint_Createelement - Fatal编程技术网

Javascript createElement<;a href=variable1>;变量2</a>;

Javascript createElement<;a href=variable1>;变量2</a>;,javascript,html,sharepoint,createelement,Javascript,Html,Sharepoint,Createelement,我需要在SharePoint 2010中创建导航web部件。我使用表格显示SharePoint列表中的项目,表格的结构如下: Column1=要显示的文本(标题) Column2=URL(标题链接) 我似乎不知道如何创建标记并将变量放入适当的位置。我经常得到的结果就是标记中的HTML标记。我在谷歌上搜索了很多地方,还没有找到好的答案 下面是关于打印带有变量的表头的代码。但是,在打印的文本(theHeaderText)后面,我想在它后面放置一个链接,这样当用户单击时,它就会转到该链接 var si

我需要在SharePoint 2010中创建导航web部件。我使用表格显示SharePoint列表中的项目,表格的结构如下:

Column1=要显示的文本(标题) Column2=URL(标题链接)

我似乎不知道如何创建
标记并将变量放入适当的位置。我经常得到的结果就是
标记中的HTML标记。我在谷歌上搜索了很多地方,还没有找到好的答案

下面是关于打印带有变量的表头的代码。但是,在打印的文本(
theHeaderText
)后面,我想在它后面放置一个链接,这样当用户单击时,它就会转到该链接

var siteUrl = '/sites/dev/';
var theCounter = 0;
ExecuteOrDelayUntilScriptLoaded(retrieveListItems, "sp.js");

function retrieveListItems() {
var clientContext = new SP.ClientContext(siteUrl);
var oList = clientContext.get_web().get_lists().getByTitle('myList');
var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml("<Where><And><IsNotNull><FieldRef Name='Title' /></IsNotNull>    <IsNotNull><FieldRef Name='TitleLink' /></IsNotNull></And></Where>");
this.collListItem = oList.getItems(camlQuery);
clientContext.load(collListItem);
clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded),     Function.createDelegate(this, this.onQueryFailed));
}

function onQuerySucceeded(sender, args) 
{
var listItemEnumerator = collListItem.getEnumerator();
    while (listItemEnumerator.moveNext()) 
    {
    var oListItem = listItemEnumerator.get_current();

    //Each column in in the SharePoint List will essentially become an array.
    //So make an array for each column that will be returned!

    var theHeaders = new Array();
    var HeaderLinks = new Array();
    theCounter += 1;
    theHeaders[theCounter - 1] = oListItem.get_item('Title');
    HeaderLinks[theCounter - 1] = oListItem.get_item('TitleLink');

    //Get the Table Element created in HTML
    var getTheTableTag = document.getElementById('theTable');


    //Create the headers (top level links)
    var createTheHeaderElements = document.createElement('th');
    createTheHeaderElements.id = 'headerTag';
    var theHeaderText = document.createTextNode(theHeaders[theCounter - 1]);
    createTheHeaderElements.appendChild(theHeaderText);
    getTheTableTag.appendChild(createTheHeaderElements);

};
}
function onQueryFailed(sender, args) {
alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
}
var siteUrl='/sites/dev/';
var计数器=0;
ExecuteOrderLayUntilScriptLoaded(retrieveListItems,“sp.js”);
函数retrieveListItems(){
var clientContext=new SP.clientContext(siteUrl);
var oList=clientContext.get_web().get_list().getByTitle('myList');
var camlQuery=new SP.camlQuery();
camlQuery.set_viewXml(“”);
this.collListItem=oList.getItems(camlQuery);
加载(collListItem);
clientContext.executeQueryAsync(Function.createDelegate(this,this.onQuerySucceed),Function.createDelegate(this,this.onQueryFailed));
}
函数onquerysucceed(发送方,参数)
{
var listItemEnumerator=collListItem.getEnumerator();
while(listItemEnumerator.moveNext())
{
var oListItem=listItemEnumerator.get_current();
//SharePoint列表中的每一列实际上都将成为一个数组。
//因此,为将返回的每个列创建一个数组!
var theHeaders=新数组();
var HeaderLinks=新数组();
计数器+=1;
标题[theCounter-1]=oListItem.get_项('Title');
HeaderLinks[theCounter-1]=oListItem.get_项(“TitleLink”);
//获取在HTML中创建的表元素
var getTheTableTag=document.getElementById('theTable');
//创建标题(顶级链接)
var createTheHeaderElements=document.createElement('th');
createTheHeaderElements.id='headerTag';
var theHeaderText=document.createTextNode(theHeaders[theCounter-1]);
创建HeaderElements.appendChild(HeaderText);
getTheTableTag.appendChild(创建HeaderElements);
};
}
函数onQueryFailed(发送方,参数){
警报('请求失败。'+args.get_message()+'\n'+args.get_stackTrace());
}

像这样使用
setAttribute

        var createA = document.createElement('a');
        var createAText = document.createTextNode(theCounter);
        createA.setAttribute('href', "http://google.com");
        createA.appendChild(createAText);
        getTheTableTag.appendChild(createA);
一个更具互动性的示例:

const insertButton=document.getElementById('insertButton');
const appendAnchorTag=()=>{
const-anchor=document.createElement('a');
const list=document.getElementById('linksList');
const li=document.createElement('li');
anchor.href=http://google.com';
anchor.innerText='转到谷歌';
李.儿童(主播);;
表1.儿童(李);
};
insertButton.onclick=appendAnchorTag
创建新的锚定标记

    您可以使用td而不是th,因为默认情况下链接以粗体显示:

        var createTheHeaderElements = document.createElement('td');
        createTheHeaderElements.id = 'headerTag';
        var link = document.createElement('a');
        var theHeaderText = document.createTextNode(theHeaders[theCounter - 1]);
        link.setAttribute("href","www.google.com");
        link.appendChild(theHeaderText);
        createTheHeaderElements.appendChild(link);
        getTheTableTag.appendChild(createTheHeaderElements);
    
    多亏了mwilson

    下面是另一个代码示例

    改变

    <body>  to  <body id="myBody">
    
    为你的身体添加:

    <button onclick="outputFunction()" >click me</button>
    
    点击我
    
    然后在主体外部添加脚本

    <script type="text/javascript">
    
    function outputFunction() {
        var myBodyId = document.getElementById("myBody");   
        var newBaitTag = document.createElement('a');
        var newBaitText = document.createTextNode("Bonus Click");
        newBaitTag.setAttribute('href', "https://www.youtube.com/watch?v=dQw4w9WgXcQ");
        // we create new things above
    
        // we append them to the page body below
        newBaitTag.appendChild(newBaitText);
        myBodyId.appendChild(newBaitTag);    
    }
    
    </script>
    
    
    函数outputFunction(){
    var myBodyId=document.getElementById(“myBody”);
    var newBaitTag=document.createElement('a');
    var newBaitText=document.createTextNode(“额外点击”);
    newBaitTag.setAttribute('href',”https://www.youtube.com/watch?v=dQw4w9WgXcQ");
    //我们在上面创造新事物
    //我们将它们附加到下面的页面正文中
    appendChild(newBaitText);
    myBodyId.appendChild(newBaitTag);
    }