如何处理javascript,点击href时,它会显示文字?

时间:2016-08-19 19:43:08

标签: javascript html

我有这段代码:

<head>
<link rel="stylesheet" href="style.css" type="text/css"/> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
</head>
<script type="text/javascript">
function toggleDiv(divId) {
   $("#"+divId).toggle();
}
</script>
<a href="javascript:toggleDiv('myContent');">Show comments</a><br>
<div id="myContent">
    My text1
</div>
<a href="javascript:toggleDiv('myContent');">Show comments</a><br>
<div id="myContent">
   My text2
</div>
<a href="javascript:toggleDiv('myContent');">Show comments</a><br>
<div id="myContent">
   My text3
</div>

我的style.css代码:

#myContent {
   display: none;
}

我想要的是,当我点击第一个显示评论时,要显示第一个文字(我的文字1),然后点击第二个显示评论,即可显示第二个文字(我的文字2),然后我点击第三个显示评论,即第三个文字(我的文字3)。 这样的代码很多。

怎么办,不是: 点击第二个显示评论不要向我显示第一个文字,但是显示第二个文字?如何适应?

3 个答案:

答案 0 :(得分:1)

使用Prev或Next jquery:

  <a class="showMessage">Show comments</a>
    <div class="myContent">
        My text1
    </div><br><br>

  <a class="showMessage">Show comments</a>
    <div class="myContent">
       My text2
    </div><br><br>

  <a class="showMessage">Show comments</a>
    <div class="myContent">
       My text3
    </div>

$(".showMessage").click(function(ev){
$(this).next().toggle();
})

例如: https://jsfiddle.net/zm3Lg85a/?utm_source=website&utm_medium=embed&utm_campaign=zm3Lg85a

答案 1 :(得分:0)

您需要为#myContent div提供唯一标识符。

答案 2 :(得分:0)

Ids必须是独一无二的:

    <a href="javascript:toggleDiv('myContent1');">Show comments</a><br>
    <div id="myContent1">
        My text1
    </div>
    <a href="javascript:toggleDiv('myContent2');">Show comments</a><br>
    <div id="myContent2">
        My text2
    </div>
    <a href="javascript:toggleDiv('myContent3');">Show comments</a><br>
    <div id="myContent3">
       My text3
    </div>

顺便说一下,使用点击事件会更好。 <a onclick="toggleDiv('anId')">Show comments</a>

你可以选择别的东西:

<div>
    <a onclick="toggle(this);">Show comments</a><br>
    <div>
        My text1
    </div>
</div>
<div>
    <a onclick="toggle(this);">Show comments</a><br>
    <div>
        My text2
    </div>
</div>
<div>
    <a onclick="toggle(this);">Show comments</a><br>
    <div>
       My text3
    </div>
</div>

javascript toggle函数可以使用jquery:

function toggle(element){
    $(element).parent().find('div').toggle();
}

这样的东西会更容易维护。 未经过测试。