我喜欢有一点点卡拉科特一个H3的标题,说“扩大我”jQuery的追加和删除
它看起来就像是:类别XYZ [+]
我喜欢的jQuery的功能去chage /删除+减去点击..我知道如何将文本追加到字符串,但不是如何删除它或只是一个部分..
如果你有更好的接触随时告诉我..谢谢!
注:实现.remplace功能......但如预期 you can see it here不工作...问题,我用的jQuery 1.4切换到1.4.3,现在它的工作!
我喜欢有一点点卡拉科特一个H3的标题,说“扩大我”jQuery的追加和删除
它看起来就像是:类别XYZ [+]
我喜欢的jQuery的功能去chage /删除+减去点击..我知道如何将文本追加到字符串,但不是如何删除它或只是一个部分..
如果你有更好的接触随时告诉我..谢谢!
注:实现.remplace功能......但如预期 you can see it here不工作...问题,我用的jQuery 1.4切换到1.4.3,现在它的工作!
好吧,如果你必须有+/-在同一H3作为标题文本的其余部分,我会用正则表达式替换它。下面是我该怎么做:
$("body").delegate("#header a", "click", function(eventObj) {
if ($(this).text().match(/\+/)) {
$(this).text($(this).text().replace(/\+/, "-"));
} else {
$(this).text($(this).text().replace(/-/, "+"));
}
});
你可以看到这个工作在jsFiddle。
$(“#idOfObject”)。html(“[ - ]”);
不要拍我,如果我错了,通过内存:)
您可以使用jQuery的HTML或文本的功能来完成这个打算:
$("#your-selector").text("category xyz[-]");
把小角色,在它的非常拥有<span>
,并给<span>
一个“class”或“id”值。然后,您可以使用Javascript中的类或id来专门查找该文本的部分内容并对其进行更改。这将会带来额外的优势,使得这些文本在你的页面内容中毫无意义,在语言清晰度方面都显得自鸣得意,而且这个小角色只会是特别。它的生活质量将得到显着提高,而这种事情真的会在潜意识层面上给用户带来。
+1这个答案完全是疯狂的,但如此真实。 – lonesomeday 2010-11-09 00:03:04
你选择什么方法来显示“可能性”,通过舔一些东西来查看更多......给我展示一些你已经完成的网站的例子 – menardmam 2010-11-09 01:10:04
如果可改变的文本是带有“id”的“”,那么它可以很容易地改变。这是完全基本的网络编程。 – Pointy 2010-11-09 03:59:28
把字符在跨越像
<span class=expandPlus>[+]</span>
,那么你可以使用像
$("h3").click(function() {
$(this).children('expandPlus').html('[-]')
.
.
.
});
只需切换现有元素的可视性就简单多了。
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为一个优雅和干净的解决方案。我就是这么做的。 – Alex 2010-11-09 03:44:15
如果要展开/折叠我建议你做一个结构类似这样:
每个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
内容[+]
或[-]
。
$("#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();
});
好!这正是我需要的! :) – 2010-11-09 00:15:41
这是我选择的答案,因为它让我学到了一些新东西,但在我的网站上它现在不起作用了......你能指出我的问题吗? – menardmam 2010-11-09 01:07:43
@ marc-andre menard问题在于,在您的网站上,您在h3中有一个锚标签。所以你需要抓住主播的文字而不是h3的文字。我已经更新了我的答案以反映这一点。请尝试。 – Alex 2010-11-09 02:05:59