使动态命名的iframe可编辑

时间:2015-04-04 15:46:24

标签: javascript object dynamic

我正在尝试编写一个可以使某个iFrame可编辑的函数。我不确定自己哪里出错了,并且非常感谢你的帮助。

我在这里发布了一个jsfiddle:

http://jsfiddle.net/edmozley/wt0pLxy0/2/

    <html>
  <body>
    <table>
      <tr>
        <td width="50%">
          <div id="div1" style="position:relative;border:1px solid black;">Div 1<br>
            <iframe name="div1_msg" id="div1_msg" style="border:3px solid green"></iframe>
          </div>
        </td>
        <td width="50%">
          <div id="div2" style="position:relative;border:1px solid black;">Div 2<br>
            <iframe name="div2_msg" id="div2_msg" style="border:3px solid red"></iframe>
          </div>
        </td>
    </table>

    <input type="button" value="Div 1 Editable" onclick="makeEditable('div1');">
    <input type="button" value="Div 2 Editable" onclick="makeEditable('div2');">

  </body>

  <script>
    function makeEditable(divName)
    {
    divName+'_msg'.document.designMode = 'On';
    }
  </script>
<html>

非常感谢

1 个答案:

答案 0 :(得分:2)

divName+'_msg'.document.designMode是无效的javascript,你不能连接字符串并以点表示法使用它们。

你喜欢这样,使用括号表示法,访问具有给定名称的帧等。

function makeEditable(divName) {
    window[divName + '_msg'].document.designMode = 'On';
}

FIDDLE