如何在HTML中将变量传递给JavaScript函数?
如果我的代码是用LLC硬编码的,我的代码可以工作。但是,我想传递变量,不知道如何修改代码以接受变量。这与Zendesk指南定制相关 对于这一行: ", 我想用从HTML传递的变量值替换LLC 见下面的代码:如何在HTML中将变量传递给JavaScript函数?,javascript,html,Javascript,Html,如果我的代码是用LLC硬编码的,我的代码可以工作。但是,我想传递变量,不知道如何修改代码以接受变量。这与Zendesk指南定制相关 对于这一行: ", 我想用从HTML传递的变量值替换LLC 见下面的代码: <div> {{#if article.labels}} {{#each article.labels}} <p>Articles related to <b> {{identifier}} :</b></p&
<div>
{{#if article.labels}}
{{#each article.labels}}
<p>Articles related to <b> {{identifier}} :</b></p>
<ul class="related">
<p id="Project"></p>
</ul>
{{/is}}
{{/each}}
{{/if}}
<script type="text/javascript">
<!-- create elements for LLC articles -->
function createNode(element) {
return document.createElement(element);
}
function append(parent, el) {
return parent.appendChild(el);
}
<!-- list LLC articles-->
const ul = document.getElementById('Project');
const url = 'https://XYZ.zendesk.com/api/v2/help_center/articles/search.json?label_names=LLC';
fetch(url)
.then((resp) => resp.json())
.then(function(data) {
let family = data.results;
return family.map(function(article) {
let li = createNode('li'),
span = createNode('span');
span.innerHTML = "<a href ="+`${article.html_url}`+">"+`- ${article.title}`+"</a>";
append(li, span);
append(ul, li);
})
})
.catch(function(error) {
console.log(error);
});
}
</script>
{{{#if article.labels}
{{{#每篇文章.标签}
与{{identifier}}有关的文章:
{{/is}
{{/每个}}
{{/if}
函数createNode(元素){
返回单据.createElement(element);
}
函数附加(父函数,el){
返回父.子(el);
}
const ul=document.getElementById('Project');
常量url=https://XYZ.zendesk.com/api/v2/help_center/articles/search.json?label_names=LLC';
获取(url)
.然后((resp)=>resp.json())
.then(功能(数据){
让family=data.results;
return family.map(函数(文章){
设li=createNode('li'),
span=createNode('span');
span.innerHTML=“”;
追加(li,span);
附加(ul,li);
})
})
.catch(函数(错误){
console.log(错误);
});
}
从上面的HTML中,LLC的值从
{{identifier}
中检索。我需要将{{identifier}}
的值传递给JavaScript代码以替换LLC。我如何才能实现这一点?如果您有LLC
变量可用,那么这只是简单的字符串串联问题
const LLC = "something";
const url = 'https://XYZ.zendesk.com/api/v2/help_center/articles/search.json?label_names=' + LLC;
如果支持ES6,还可以使用模板字符串文字
const LLC = "something";
const url = `https://XYZ.zendesk.com/api/v2/help_center/articles/search.json?label_names=${LLC}`;
通过使用window.location.search?另外,不要混合使用模板文本和字符串连接。改为这样做:
span.innerHTML=`
在模板字符串中,您可以放置文字字符串,并且只有${}
中的部分被插值为表达式……如果您还不知道如何插值,您可以通过首先从DOM中选择HTML元素来获取HTML元素的innerHTML内容。最简单的方法是,如果可以使用id
属性隔离元素中的内容,类似于与{{identifier}}相关的文章:
,它允许const myElement=document.getElementById(“identifierElement”);const LLC=myElement.innerHTML代码>开始工作。但是Element.querySelector()也很好。我如何传递2个变量而不是1个?