有没有办法将标签转换为带有 javascript 上的 href 的按钮?

Is there anyway of converting a label to a button with href on javascript?

我正在尝试下载 JQuery 中带有 url 的文档。现在我把它作为一个函数,它与一个标签一起工作,当点击它时它会执行 href。

我一直在尝试使用按钮复制相同的功能,而不必将信息发送到后端,但我不知道按钮如何使用给定的 url 执行 href 标记。

带标签的下载函数代码:

function downloadDoc() {
        
        if (selectedItem == null) {
            var idx = _grid.getSelectedRows();
            _dataView.getItemByIdx(idx);
            selectedItem = _dataView.rows[idx];
        }

        if (!selectedItem)
            return;
        
        var docDown = '<a href="' + _urlDown + '" target=" _blank ">Archivo</a>';
        $lblArchAdjDown.html("Descargar " + docDown);
}

按钮代码:

$btnExcelAdj.button({
     icons: {
        primary: "ui-icon-calculator"
     }
}).click(downArchAdj);

我想要实现的是 $btnExcelAdj 执行 downloadDoc 函数而无需使用标签。像这样:

$btnExcelAdj.button({
            icons: {
                primary: "ui-icon-calculator"
            }
}).click(downloadDoc);
    
function downloadDoc() {
        
        if (selectedItem == null) {
            var idx = _grid.getSelectedRows();
            _dataView.getItemByIdx(idx);
            selectedItem = _dataView.rows[idx];
        }

        if (!selectedItem)
            return;
        
        var docDown = '<a href="' + _urlDown + '" target=" _blank ">Archivo</a>';
        docDown.click();
}

您可以通过这种方式修改 downloadDoc 功能,这样就无需将标签转换为锚标记,也能达到您的目的。

function downloadDoc() {
    
    if (selectedItem == null) {
        var idx = _grid.getSelectedRows();
        _dataView.getItemByIdx(idx);
        selectedItem = _dataView.rows[idx];
    }

    if (!selectedItem)
        return;

    window.open(_urlDown , "_blank")

}