javascript - 无法使用jQuery控制div html内容?

标签 javascript jquery

虽然我认为我之前已经成功完成了,但是这次这段代码无法正常工作。

我需要执行的想法是检查是否显示tabheader div,然后用(-)替换(+)字符串,当div是tabheader div时反之亦然已隐藏。

这是 HTML 代码:

<div>
    <div class="tabheader" value="1">
        <p> + sea food </p>
    </div>
    <div id="content_1" class="tabcontent">
        hi all 11111
    </div>
    <div class="tabheader" value="2">
        <p> + pizza </p>
    </div>
    <div id="content_2" class="tabcontent">
        hi all 222222
    </div>
    <div class="tabheader" value="3">
        <p> + sandwitches </p>
    </div>
    <div id="content_3" class="tabcontent">
        hi all 33333
    </div>
</div>

CSS 代码:

.tabcontent {
    display: none;
}
.tabheader {
    height: 24px;
    width: 80%;
    background-color: #B2BBD0;
    margin: 18px;
    direction: rtl;
    text-align: right;
}

JavaScript代码

$('.tabheader').click(function() { 
    $('#content_'+$(this).attr("value")).toggle("slow"); 
    var header_content = $(this).html(); 
    if($(this).toggle()) {
        header_content = header_content.replace("+","-"); 
        $(this).html(header_content);  
    }
    else {
        header_content = header_content.replace(/\-/g,"+"); 
        $(this).html("header_content");  
    }
});

当我点击tabheader div时,它消失的问题!谁能告诉我问题出在哪里?

最佳答案

$('.tabheader').click(function() { 
    var content = $('#content_'+$(this).attr("value"));
    var header_content = $(this).html(); 
    if(content.is(':visible')) {
        header_content = header_content.replace(/\-/g,"+");
        $(this).html(header_content);
    }
    else {
        header_content = header_content.replace("+","-");
        $(this).html(header_content);
    }
    $('#content_'+$(this).attr("value")).toggle("slow");
});

检查这个 fiddle :http://jsfiddle.net/wNsMs/1/

我相信这就是您正在寻找的。

关于javascript - 无法使用jQuery控制div html内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8628420/

相关文章:

javascript - 根据选择选项更新输入值

javascript - 如何在 React 中记录 prop?

php - 使用 ajax 加载迷你界面

javascript - 如何使用按钮清除动态生成的输入字段?

PHP:调用 Javascript 命令

jquery - 在所有浏览器中使用 &lt;input type ="file"> 时如何使用上传文件的 JQUERY 获取完整路径,为什么 IE、Chrome 返回 "c:/fakepath/filname"?

javascript - 如何在 JavaScript 中获取文件路径表单输入标签

java - javascript 函数中的表单操作不起作用

javascript - 如何全局替换前面没有 [character] 的字符?

javascript - 完美滚动条不起作用