Javascript 单击后将段落加粗 第1项 第2项 第3项 第4项 第5项

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

单击后如何加粗所选段落? 例如,如果我单击“项目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>
</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'})
})