javascript - 使用 javascript 从列表传递此值

标签 javascript html

我有以下列表:

<ul>
    <li onclick="populateComment(..this.)">very good </li>
    <li onclick="populateComment(..this.)">not so good</li>
    <li onclick="populateComment(..this.)">no t.....</li>
</ul>

和 JavaScript:

function populateComment() {

    document.getElementById("COMMENT").value = document.getElementById("COMMENT").value + 'THE_STRING_VALUE_FROM_THE_LIST';

}

所以我的想法是我有一个文本区域,我通过单击列表来填充它。

因此,如果我单击第一个列表,文本“very good”应附加到文本区域。但我不想在我的函数中重新输入文本“very good”,我可以直接将其作为参数,如this.value..所以它会自动采用 <li> ...</li> 之间的字符串

感谢您的宝贵时间。

最佳答案

您正在寻找:

this.textContent || this.innerText

this.textContent 所有不错的浏览器都支持,this.innerText旧版本的 IE 需要。

您还可以将监听器绑定(bind)到<ul>,而不是多次重复onclick处理程序。元素:

// Replace <ul> with <ul id="populatefrom">
document.getElementById("populatefrom").onclick = function(ev) {
    ev = ev || window.event; //Backwards compatible with IE
    var target = ev.target;
    if (target.nodeName.toLowerCase() == "li") {
        document.getElementById("COMMENT").value += target.textContent || target.innerText;
    }
};

关于javascript - 使用 javascript 从列表传递此值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8636972/

相关文章:

html - 在ionic中设置默认 View

javascript - 可以创建 Location 的实例吗?

javascript - Node Js Express JS 错误处理麻烦

javascript - 如何使用 javascript 中的循环更改 <tr> 内 <td> 的内部html?

html - 为什么 input[type ="text"] 改变焦点大小?

javascript - 如果你点击任何方 block ,一个 X 应该出现在里面

javascript - 使用 JavaScript 转换 ISO 8601 持续时间

javascript - 如何选择该div?

html - 打印 html 网页时字体粗细无用

html - 页面右侧空白