将占位符值替换为单击的 span 标记的内部 HTML
Replace placeholder value with innerHTML of span tag clicked
我想在我的页面上有一个隐藏的搜索表单,以允许用户在点击时过滤标签。我想我一开始就走在正确的轨道上,但我可能掉进了兔子洞。
到目前为止,我可以替换表单中的值,但我不知道如何运行循环,以便它只返回单击的项目的 innerHTML。它目前运行所有选项并在最后一个停止。
任何帮助都非常感谢。
这是我对标签的内容:
<div id="tagLinks" class="tags" >
<span class="clickable" onclick="getValue();">Social Media</span>,
<span class="clickable" onclick="getValue();">Business</span>,
<span class="clickable" onclick="getValue();">Content</span>,
<span class="clickable" onclick="getValue();">Marketing</span>,
<span class="clickable" onclick="getValue();">Engagement</span>,
<span class="clickable" onclick="getValue();">Facebook</span>,
<span class="clickable" onclick="getValue();">Twitter</span>,
<span class="clickable" onclick="getValue();">Google Plus</span>
</div>
这是我的javascript: $(document).ready(function() {
var tagArray = document.getElementById("tagLinks").innerText.split(', ');
var spanObj;
tagArray.forEach(createElement);
function createElement(arrayItem, index, array) {
spanObj = "<span class='clickable' onclick='getValue();'>" + arrayItem + "</span>";
tagArray[index] = spanObj.toString();
document.getElementById("tagLinks").innerText = "";
$("#tagLinks").append(tagArray.join(", "));
$('#tagLinks').css('cursor','pointer');
}
function getValue() {
var value = document.getElementById('tagInput').value;
var newValues = document.getElementsByClassName('clickable');
for(var i=0; i < newValues.length; i++) {
document.getElementById('tagInput').value = newValues[i].innerHTML;
}
}
摆脱onclick,你正在使用jQuery,所以使用它。
$("#tagLinks").on("click", "span.clickable", function() {
$('#tagInput').val(this.innerHTML);
});
正如
@epascarello所说,如果你正在使用jquery,你应该正确使用它。
无论如何,这里有一个纯粹的JavaScript答案:
function getValue() {
var value = document.getElementById('tagInput').value;
var newValues = document.getElementsByClassName('clickable');
for(var i=0; i < newValues.length; i++) {
document.getElementById('tagInput').setAttribute("src","newValues[i].innerHTML");
}
}
相关文档
相关文章:
- 使用Clipboard.js复制span文本
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- 排序<李><Ul>根据<span>内部<李>
- 用jQuery.html更新span内部html在IE中不起作用
- 在不删除内部文本的情况下删除 SPAN 标记的最佳方法
- 将占位符值替换为单击的 span 标记的内部 HTML
- 如何使用 jQuery 设置 span 元素的内部 HTML
- 白内障患者可以't点击嵌入式<span>内部<a>要素
- 用span'换行文本节点;s、 如果出现新文本,则显示带有跨度的内部文本节点
- <的缺少单击事件;span>内部<按钮>元素
- 如何使用jQuery更改span内部的文本,使其他span包含的节点保持不变
- 当还有SPAN时,从内部html中提取td值
- 在angularjs中,当选择框发生变化时,动态更新span内部的html
- 点击jQuery内部的span按钮
- 从P元素内部获取文本,而不在所选内容中包含span标记
- CSS:转换旋转无法使用span内部SVG标记
- 如何防止按钮内部span标签在按钮点击时不可点击或无响应
- 在SPAN内部插入HTML时拆分SPAN
- 无法访问 span 标记的内部 HTML
- 更改HTML span内部文本