Javascript 单击后将段落加粗 第1项 第2项 第3项 第4项 第5项
单击后如何加粗所选段落? 例如,如果我单击“项目2”,在我单击后,只有项目2会加粗,我建议:Javascript 单击后将段落加粗 第1项 第2项 第3项 第4项 第5项,javascript,html,css,Javascript,Html,Css,单击后如何加粗所选段落? 例如,如果我单击“项目2”,在我单击后,只有项目2会加粗,我建议: <div id="box"> <p class="b">item 1</p> <p class="b">item 2</p> <p class="b">item 3</p> <p class="b">item 4</p> <p class="b">item 5</p> &l
<div id="box">
<p class="b">item 1</p>
<p class="b">item 2</p>
<p class="b">item 3</p>
<p class="b">item 4</p>
<p class="b">item 5</p>
</div>
.试试这个:
HTML:
function toggleBold(el) {
var siblings = el.parentNode.getElementsByTagName('p');
for (var i = 0, len = siblings.length; i<len; i++){
if (siblings[i] == el){
el.style.fontWeight = el.style.fontWeight == 'bold' ? 'normal' : 'bold';
}
else {
siblings[i].style.fontWeight = 'normal';
}
}
}
var paragraphs = document.getElementsByTagName('p');
for (var i = 0, len = paragraphs.length; i<len; i++){
paragraphs[i].onclick = function(){
toggleBold(this);
};
}
<p class="b" onclick="GetBold(this)">item 2</p>
第2项
JavaScript:
function toggleBold(el) {
var siblings = el.parentNode.getElementsByTagName('p');
for (var i = 0, len = siblings.length; i<len; i++){
if (siblings[i] == el){
el.style.fontWeight = el.style.fontWeight == 'bold' ? 'normal' : 'bold';
}
else {
siblings[i].style.fontWeight = 'normal';
}
}
}
var paragraphs = document.getElementsByTagName('p');
for (var i = 0, len = paragraphs.length; i<len; i++){
paragraphs[i].onclick = function(){
toggleBold(this);
};
}
<p class="b" onclick="GetBold(this)">item 2</p>
函数GetBold(当前)
{
var数组=document.getElementsByClassName('p');
对于(var i=0;i
使用jQuery:
function GetBold(current)
{
var array = document.getElementsByClassName('p');
for (var i = 0; i < array.length; i++)
{
array[i].style.fontWeight = 'normal';
}
current.style.fontWeight = 'bold';
}
请参阅。如果“项目2”不是链接,请单击“项目2”?那么唯一的解决方案就是JS,否则CSS就可以帮你了我已经试过使用CSS了#框p.static:active{font-weight:800;}指定的段落以粗体显示,但仅显示一段时间,我希望在单击段落后永久显示。onclick=“this.style.fontwweight='bold'”有什么问题?他没有说这是一个网站或应用程序,所以我认为这没有什么不好的做法。我已经试过了。它是用JS小提琴演奏的。但不是在chrome上。它在chrome上可以工作,这就是我写这个答案的浏览器。您是否已将
脚本
元素放在页面底部的关闭
标记之前?DOM是否存在于JavaScript的运行点?第三种解决方案绝对是我想要的。但是,它仍然不能在chrome上工作。我确实在关门前贴上了标签。这是詹姆逊发布的另一个答案,是为我工作的。。。但不像你在第三个问题中给出的解决方案。你能在JS Fiddle上重现吗?在主体
元素中包含相关的()标记。没有理由(我可以看到)它不应该工作,所以可能是其他问题导致了问题。这是在JS小提琴工作,但仍然不是在我的铬??为什么?请不要建议使用在线JavaScript;是的,它是有效的,但是它对标记非常有害,而且一旦你有一个或两个以上的函数要运行,维护它绝对是一场噩梦。这真的不值得付出痛苦(这只是建议,而不是否决投票)。
$('.b').click(function(){
$(this).css({'font-weight':'bold'})
})