Javascript createElement<;a href=variable1>;变量2</a>;
我需要在SharePoint 2010中创建导航web部件。我使用表格显示SharePoint列表中的项目,表格的结构如下: Column1=要显示的文本(标题) Column2=URL(标题链接) 我似乎不知道如何创建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
标记并将变量放入适当的位置。我经常得到的结果就是
标记中的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);
}