JavaScript:将<p>标签之间的文本转换为</p> <p>标签(输出)之间的新文本</p>

时间:2014-10-18 19:57:34

标签: javascript

我试图从&lt; p&gt;操作转化 onLoad 文字&lt; / p&gt; ,以便创建&lt; p&gt;新修改的文​​字&lt; / p&gt; (关键是我不想在简单的javascript中使用 textareas )。

以下是我一直在尝试做的事情(但它似乎仅适用于来自 textareas 的值):

<script>
<?php include("js/roman.js"); ?>
function afficher(form2) {
    var testin = document.form2.TextToModify.value;
                 document.form2.NewModifiedText.value=hangul_to_roman(testin);
}
</script>

<div>
    <p name="TextToModify" value="input" onLoad="afficher(form2)">

        TEXT    

    </p>

    <p name="NewModifiedText" value="output">  

        <!-- NEW MODIFIED TEXT   -->

    </p>
</div>

有谁知道如何获得&#34; p&#34;之间的第一个文字。标签,以进行转型?

提前谢谢!

1 个答案:

答案 0 :(得分:1)

一些注意事项:

  • 最好避免使用内联事件处理程序。
  • p元素不具备namevalue属性。
  • document.form2.TextToModify是访问表单元素的非标准方式。标准方式是document.forms.form2.elements.TextToModify,但它不会起作用,因为p元素不是listed elements

&#13;
&#13;
function hangul_to_roman(str){ return str; }
function afficher() {
  document.getElementById('NewModifiedText').innerHTML = hangul_to_roman(
    document.getElementById('TextToModify').innerHTML
  );
}

afficher(); // This must run after loading the DOM
&#13;
<div>
  <p id="TextToModify">
    TEXT
  </p>
  <p id="NewModifiedText">
    <!-- NEW MODIFIED TEXT -->
  </p>
</div>
&#13;
&#13;
&#13;

hangul_to_roman仅包含在此处,以便使代码段可以运行。

注意afficher()必须在加载元素后调用,例如在关闭</body>之前放置的脚本中,或者在DOMContentLoadedload的事件监听器中调用事件