jquery追加并删除它

时间:2010-11-08 23:53:41

标签: jquery

我喜欢拥有一个h3标题,其中包含一些“扩展我”的文字

它看起来像那样:类别xyz [+]

我喜欢jquery中的一个函数来点击/删除+到点击时减去..我知道如何将文字附加到字符串而不是如何删除它或只是一个部分..

如果你有更好的approch随时告诉我..谢谢!


注意:实现.remplace函数...但是不能按预期工作 you can see it here ...问题我使用jquery 1.4切换到1.4.3现在它可以工作了!

7 个答案:

答案 0 :(得分:3)

更容易切换现有元素的可见性。

<强> 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>

<强>的Javascript

$("span#toggle a").click(function() {
   $("div#toggleContent").toggle();
   $("span#toggle a").toggle();
});

<强> CSS

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

JSFiddle 您可以尝试一下。

答案 1 :(得分:2)

好吧,如果必须在与文本的其余部分相同的h3中使用+/-,我会使用正则表达式替换。这是我如何做到的:

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

您可以在jsFiddle处看到此问题。

答案 2 :(得分:0)

$( “#idOfObject”)的HTML( “[ - ]”);

如果我错了,不要开枪打死我,请记住:)

答案 3 :(得分:0)

您可以使用jQuery html或文本函数来完成此任务:

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

答案 4 :(得分:0)

将小字符放在它自己的<span>中,并将<span>赋予“class”或“id”值。然后你可以使用Javascript中的类或id来专门找到文本的那一部分并进行更改。这将带来额外的好处,即制作一点点文本,在页面内容的其余部分中毫无意义,在语言的可理解性方面都是自鸣得意和傲慢的,以及小字符只是特殊。它的生活质量将得到显着提高,而这种事情在潜意识层面上真正体现在你的用户身上。

答案 5 :(得分:0)

将字符放在类似

的字符串中
<span class=expandPlus>[+]</span>

然后你可以使用像

这样的东西
$("h3").click(function() {
  $(this).children('expandPlus').html('[-]')
  .
  .
  .
});

答案 6 :(得分:0)

如果你想展开/折叠我建议你做一个类似的结构:

<强> See this example on jsFiddle.

每个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>

这里我使用的是toggle,每次单击该元素时,函数索引增加1直到达到最大值,然后再返回0.因此,使用两个函数,它们将在每个函数之间交替单击。通过这样做,您可以切换[-][+]。只有在所有类别以相同状态开始时,这才能正常工作。如果它们在首次运行时未必折叠,则必须修改此功能以检查a[+]的{​​{1}}内容。

[-]