在锚标记文本之前放置 span jQuery

Place span before anchor tag text jQuery

我正在尝试使用 jQuery/JS

制作这样的按钮

这个按钮是使用服务器端生成的 rails helper.While 检查这个元素 我得到了这个

为此我写了下面的代码

   var editLink = makeElement('a', {
            class: 'edit-merchant-url btn btn-primary',
            href: url.BASE_MERCHANT_URLS + data.id + url.EDIT,
            innerHTML: 'Edit'
        });

        var editInnerSpan = makeElement('span', {class: 'fa fa-pencil-square-o'});
        
        editLink.appendChild(editInnerSpan);


 /**
         * It creates the dynamic DOM element
         * element should be tag name such as div, input, form
         * options should be attributes including class, id, innerHTML
         */

        function makeElement(element, options) {
            var $formField = document.createElement(element);
            $.each(options, function (key, value) {
                if (key === 'innerHTML') {
                    $formField.innerHTML = value;
                }
                else {
                    $formField.setAttribute(key, value);
                }
            });
            return $formField;
        }

但是这个创建按钮就像

在检查时我得到了这个。

我不知道我做错了什么。

应该是:

editLink.prependChild(editInnerSpan)