[英]How can I insert some text into a textarea using JavaScript or jQuery?
[英]How can i add some text to post by using JavaScript?
如何使用javascript在下面的代码中插入一些文本? 任何帮助都表示赞赏,因为我仍然是javascript的新手。
<div class = "post-body entry-content">
<div class = "auto-thumbnail">
<table width = "500px" height = "auto" border = "0" align = "center">
<tbody>
<tr><td>
<a href = "http://www.google.com" target = "_blank"><img src = "example.jpg" border = "0"/></a><br /><br />
Author : Jason<br />
Book Title : Example Book<br />
Release Date : 2013.05.11<br /><br />
Description : <br /><br />
Here is where I want to add some text<br /><br /><!--Add text on this line-->
Hello, example....<br />
<br />
</td></tr>
</tbody>
</table>
</div>
</div>
在文本周围放置一些带有id
属性的<p>
标签,然后使用document.getElementById()
来更改文本:
<p id = "textline">I want to add some text here</p><br /><br />
<script type = "text/javascript">
function changeText()
{
document.getElementById("textline").innerHTML = "changed text";
}
</script>
记得在想要更改文本时调用该函数。 更好地描述你想做什么以及为什么要这样做会很好。
编辑:
<p class = "textline">I want to add some text here</p><br /><br /><!--script will affect both lines-->
<p class = "textline">I want to add some text here</p><br /><br />
<script type = "text/javascript">
function changeText()
{
document.getElementsByClassName("textline").innerHTML = "changed text";
}
</script>
编辑2:
if(document.getElementById("your_id")!=null)
{
document.getElementById("your_id").innerHTML = "changed text";
}
else
{
alert("Element does not exist");
}
我将提供两种方法来做到这一点。 一个是我认为是最佳实践(第一个),另一个是对代码的最小修改(第二个)。
第一:我将如何做到:
注意:在表格中存储这样的数据并不理想, DIV
元素就是为此而设计的。 我不会尝试重写它。 这只是关于JS的最佳实践。
我建议使用<span>
标签,因为你可以设置它的样式,就好像它不存在一样(它是一个inline
而不是block
元素,但它很容易选择。
...
<a href = "http://www.google.com" target = "_blank"><img src = "example.jpg" border = "0"/></a><br /><br />
Author : Jason<br />
Book Title : Example Book<br />
Release Date : 2013.05.11<br /><br />
Description : <br /><br />
<span id='description'>Here is where I want to add some text</span><br /><br />
Hello, example....<br />
<br />
...
要替换它,您只需执行以下操作:
document.getElementById('description').innerHTML = "Your Text";
第二:你想怎么做:
这并不是说如果不使用跨度就无法更换。 你必须给你的DIV
一个id
描述符而不是(或者和) class
(一个class
不是唯一的,所以没有办法告诉你试图影响哪个DIV
。
您可以阅读auto-thumbnail
的整个HTML
,然后使用正则表达式替换占位符,如下所示:
<div id="auto-thumbnail">
<table width = "500px" height = "auto" border = "0" align = "center">
<tbody>
<tr><td>
<a href = "http://www.google.com" target = "_blank"><img src = "example.jpg" border = "0"/></a><br /><br />
Author : Jason<br />
Book Title : Example Book<br />
Release Date : 2013.05.11<br /><br />
Description : <br /><br />
{DESCRIPTION}<br /><br /><!--Add text on this line-->
Hello, example....<br />
<br />
</td></tr>
</tbody>
</table>
</div>
你在这里做的是有一个JavaScript函数,它获取这个DIV的内部内容,然后用你想要的描述替换{DESCRIPTION}
占位符。
function replaceDescription(newdescription) {
var regexp = new RegExp("{DESCRIPTION}");
document.getElementById('auto-thumbnail').innerHTML = document.getElementById('auto-thumbnail').innerHTML.replace(regexp, "Your Description");
}
这将比第一种格式慢得多,所以我完全建议使用它。
我建议你看一下模板框架http://handlebarsjs.com/
或者你也可以使用其他“javascript模板框架”,只是google它。 我更喜欢把手bcoz,它简单直观
如果您需要更高级的框架,请查看http://angularjs.org/
对于一个简单的线,你可以通过imulsion使用答案。 或者,如果您打算使用jQuery,它就会像
$("#textline").text("changed text");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.