首页 > 解决方案 > 是否有可能的 javascript 函数返回新的 DOM 元素但使用 jQuery 创建

问题描述

例子:

function getNewElement(elementName, elementClass) {
    return $('<p>')
        .addClass(elementClass)
        .text(elementName);
}

然后我可以像这样重用它:

const paragraph = getNewElement('test', 'some-class');
const paragraphSecond = getNewElement('test2', 'some-class2');

有没有办法运行代码或任何类似的方法?谢谢

标签: javascriptjquery

解决方案


jQuery 对象中的第 0 项是本机 DOM Element 对象。因此,只需添加[0]return函数中的语句即可获得所需的输出:

function getNewElement(elementName, elementClass) {
  return $('<p>').addClass(elementClass).text(elementName)[0];
}

const paragraph = getNewElement('test', 'some-class');
console.dir(paragraph);

const paragraphSecond = getNewElement('test2', 'some-class2');
console.dir(paragraphSecond);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

话虽如此,从函数返回一个 jQuery 对象并没有本质上的错误,这将阻止它被重用。任何问题只会来自您在以后的逻辑中如何使用函数的结果


推荐阅读