Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery追加并删除它_Jquery - Fatal编程技术网

jquery追加并删除它

jquery追加并删除它,jquery,Jquery,我喜欢有一个h3标题,上面有一个小字符,上面写着“扩展我” 它看起来是这样的:类别xyz[+] 我喜欢jquery中的一个函数,它可以在单击时将+改为负数。。我知道如何将文本附加到字符串中,但不知道如何删除它或只是其中的一部分 如果你有更好的办法,尽管告诉我。。谢谢 注意:实现.remplace函数。。。但是不要像预期的那样工作 ... 我使用jQuery1.4切换到1.4.3的问题现在可以解决了 $(“#idOfObject”).html(“[-]”) 如果我错了,不要开枪打我,按内存:)您

我喜欢有一个h3标题,上面有一个小字符,上面写着“扩展我”

它看起来是这样的:类别xyz[+]

我喜欢jquery中的一个函数,它可以在单击时将+改为负数。。我知道如何将文本附加到字符串中,但不知道如何删除它或只是其中的一部分

如果你有更好的办法,尽管告诉我。。谢谢


注意:实现.remplace函数。。。但是不要像预期的那样工作 ... 我使用jQuery1.4切换到1.4.3的问题现在可以解决了

$(“#idOfObject”).html(“[-]”)


如果我错了,不要开枪打我,按内存:)

您可以使用jQuery html或文本函数来完成以下操作:

$("#your-selector").text("category xyz[-]");

将小字符放在它自己的
中,并给它一个“class”或“id”值。然后,您可以使用Javascript中的类或id专门查找文本的该部分并对其进行更改。这样做还有一个额外的好处,那就是使那一小段文本在页面内容中变得毫无意义,在语言可理解性方面都显得自鸣得意和傲慢,那么这个小字符就变得特别了。它的生活质量将得到极大的提高,而这类事情真的会在潜意识中传递给你的用户

<span class=expandPlus>[+]</span>
$("h3").click(function() {
  $(this).children('expandPlus').html('[-]')
  .
  .
  .
});
好吧,如果你必须让+/-与标题文本的其余部分在同一个h3中,我会用正则表达式替换它。下面是我该怎么做:

$("body").delegate("#header a", "click", function(eventObj) {
    if ($(this).text().match(/\+/)) {
        $(this).text($(this).text().replace(/\+/, "-"));
    } else {
        $(this).text($(this).text().replace(/-/, "+"));
    }
});

您可以在上看到这一点。

只需切换现有元素的可见性,就可以轻松得多

HTML

<h3>Category XYZ
   <span id="toggle">
      <a href="#" class="expand" title="expand me">[+]</a>
      <a href="#" class="hide" title="hide me">[-]</a>
   </span>
</h3>
<div id="toggleContent">This is the text of category XYZ</div>
CSS

div#toggleContent { display: none; }
span#toggle a.hide { display: none; }

您可以在上面试用。

如果您想展开/折叠,我建议您制作一个类似于此的结构:

每个
a
与一个
div
相关。href是内容div的选择器

<div id="container">
    <ul>
        <li>Category 01 <a href="#cat01">[+]</a></li>
        <li>Category 02 <a href="#cat02">[+]</a></li>
        <li>Category 03 <a href="#cat03">[+]</a></li>
    </ul>
    <br />
    <div id="categories">
        <div id="cat01">content 01</div>
        <div id="cat02">content 02</div>
        <div id="cat03">content 03</div>
    </div>
</div>

美好的这正是我所需要的!:)这是我会选择的答案,因为它让我学到了一些新的东西,但在我的网站上它现在不起作用。。。你能告诉我这个问题吗?@marc andre menard问题是在你的网站上,h3里面有一个锚定标签。所以你需要抓取锚的文本而不是h3的文本。我更新了我的答案以反映这一点。请试一试。对不起。。但还是不行。。。。明天之前我不会碰密码。。请告诉我我做错了什么。。。只是复制/粘贴!对不起@马克·安德烈·梅纳德:我已经仔细核对了我的答案,并尽可能地作出了澄清。这在链接的js小提琴中起作用,应该在您的站点上起作用。再复制一次。我必须强调,如果我是你,我会采用@Damo或@BrunoLM的方法,因为事实上,它们更优雅,我会这样做。我的答案是,如果出于某种原因,您必须将整个文本放在一个h3元素中。您选择什么方法来显示通过舔某个元素来查看更多内容的“可能性”。。。给我看一些你已经做过的网站的例子如果可更改的文本在带有“id”的
中,那么它可以很容易地更改。这是完全基本的网络编程。
<div id="container">
    <ul>
        <li>Category 01 <a href="#cat01">[+]</a></li>
        <li>Category 02 <a href="#cat02">[+]</a></li>
        <li>Category 03 <a href="#cat03">[+]</a></li>
    </ul>
    <br />
    <div id="categories">
        <div id="cat01">content 01</div>
        <div id="cat02">content 02</div>
        <div id="cat03">content 03</div>
    </div>
</div>
$("#container ul > li > a").toggle(function (e) {
    var $this = $(this);
    $this.text("[-]"); // change the text
    // select content div using href as the selector
    $($this.attr("href")).css("display", "block");
    // prevent any other behavior
    e.preventDefault();
},
function (e) {
    var $this = $(this);
    $(this).text("[+]"); // switch to collapsed view
    $($this.attr("href")).css("display", null);
    e.preventDefault();
});