我希望以下文字使用JavaScript显示为“测试测试”。
<body>
<blockquote>test test test</blockquote>
</body>
我有以下代码,但它不起作用
<blockquote window.onload = function test()> test test test</blockquote>
<script type="text/javascript">
function test(){
var a = document.getElementsByTagName(blockquote).value
return "a";
}
</script>
答案 0 :(得分:1)
其中一个适合您:
当所有HTML元素都在DOM中时,页面上的所有块引用:
<blockquote>test test test</blockquote>
<blockquote>test2 test2 test2</blockquote>
<script type="text/javascript">
window.onload = function(){
var bqs = document.getElementsByTagName('blockquote');
for(var i = 0; i < bqs.length; i++)
bqs[i].innerHTML = '"'+bqs[i].innerHTML+'"';
}
</script>
<blockquote>test3 test3 test3</blockquote>
脚本上方页面上的所有块引用:
<blockquote>test test test</blockquote>
<blockquote>test2 test2 test2</blockquote>
<script type="text/javascript">
var bqs = document.getElementsByTagName('blockquote');
for(var i = 0; i < bqs.length; i++)
bqs[i].innerHTML = '"'+bqs[i].innerHTML+'"';
</script>
<blockquote>test3 test3 test3</blockquote>
特定的blockquote :
<blockquote id="wrapinquotes">test test test</blockquote>
<blockquote>test2 test2 test2</blockquote>
<script type="text/javascript">
var el = document.getElementById('wrapinquotes');
el.innerHTML = '"'+el.innerHTML+'"';
</script>
<blockquote>test3 test3 test3</blockquote>
答案 1 :(得分:0)
不应该是
<script type="text/javascript">
function test(){
var element = document.getElementsByTagName("blockquote")[0]; //getElementsByTagName returns an array
var attr = document.createAttribute('value');
attr.nodeValue = element .value; //code to set your value.. you need to escape double quotes..
element .setAttributeNode(attr);
}
</script>
<blockquote window.onload = function test()> test test test</blockquote>
如果您尝试更改标签之间的文本,则需要使用innerHTML属性。
function test(){
var element = document.getElementsByTagName("blockquote");
element.innetHTML='"'+element[0].innerHTML+'"';
}
答案 2 :(得分:0)
您的代码无法工作的原因是因为getElementsByTagName返回所有标记的列表,而不仅仅是一个标记。所以你需要操作列表(数组)。
我发现Paulpro的回答很有帮助,但没有解释,所以这可能对某人有帮助。
var bqs = document.getElementsByTagName('blockquote');
获取所有blockquote标签的列表。将该列表称为bqs
for(var i = 0; i < bqs.length; i++)
浏览列表bqs一次。当你走下那个列表时:
bqs[i].innerHTML = '"'+bqs[i].innerHTML+'"';
对于每个列表项执行此代码。
此代码有助于尝试在列表上执行,以执行列表中的所有项目。可以更改最后一行以对列表执行其他操作,例如:
bqs[i].style.display = 'none';