相关疑难解决方法(0)

为什么y.innerHTML = x.innerHTML; 要避免吗?

假设我们x在页面上有一个DIV ,我们想要将该DIV的内容复制("复制粘贴")到另一个DIV中y.我们可以这样做:

y.innerHTML = x.innerHTML;
Run Code Online (Sandbox Code Playgroud)

或者使用jQuery:

$(y).html( $(x).html() );
Run Code Online (Sandbox Code Playgroud)

但是,看起来这种方法不是一个好主意,应该避免.

(1)为什么要避免这种方法?

(2)应如何做呢?


更新:
为了这个问题,让我们假设DIV中没有ID的元素x.
(对不起,我忘了在原来的问题中报道这个案子.)

结论:
我已经在下面发布了我自己的答案(正如我原先的意图).现在,我也计划接受我自己的答案:P,但是我的答案是如此惊人,以至于我不得不接受它.

html javascript browser jquery

46
推荐指数
4
解决办法
3978
查看次数

Javascript form.submit()无法在Firefox中运行

这里,这里这里以及其他地方有几个问题/答案,但它们都看起来特定于JQuery并且似乎不适用于此(例如,我不是创建一个新的Form对象,这是一个现有的表单,同时我根本使用Jquery.

我有一个表单,由于IE7兼容性的原因,在提交之前必须进行修改.我必须BUTTON从表单中删除所有标记,然后添加一个隐藏字段,但这都是现有HTML页面上的现有表单.此代码在IE和Chrome中正常运行,但在Firefox中不起作用(版本23和24都经过测试).

    buttonClickFunction(formName, buttonObject) {
        var formObject = document.forms[formName];
        var i = 0;

        // Strip out BUTTON objects
        for (i=0;i<formObject.length;i++) {
            if (formObject[i].tagName === 'BUTTON') {
                formObject[i].parentNode.removeChild(formObject[i]);
                i--;
            }
        }

        // Create new field
        var newField = document.createElement('input');
        newField.type = 'hidden';
        newField.id=buttonObject.id;
        newField.name = buttonObject.name;
        if (buttonObject.attributes['value'] != null) {
            newField.value = buttonObject.attributes['value'].value;
        } else {
            newField.value = buttonObject.value;
        }

        // Submit form
        formObject.appendChild(newField);
        document.forms[formName].appendChild(newField);
        document.forms[formName].submit();
    }
Run Code Online (Sandbox Code Playgroud)

除了document.forms[formName].submit() …

javascript forms dojo

16
推荐指数
2
解决办法
3万
查看次数

标签 统计

javascript ×2

browser ×1

dojo ×1

forms ×1

html ×1

jquery ×1