实际上,我有:
function switch()
{
if(document.getElementById('mydivid').innerHTML == "Show +")
document.getElementById('mydivid').innerHTML = "Show -";
else
if(document.getElementById('mydivid').innerHTML == "Show -")
document.getElementById('mydivid').innerHTML = "Show +";
}
但我希望用jQuery做到这一点。我有:
$(document).ready(function() {
$("#mydivid").click(function() {
// if #mydivid is "Show +" do: $("#mydivid").html("Show -");
// else if #mydiv is "Show -" do: $("#mydivid").html("Show +");
});
});
我如何使用这些if
?或者我可以使用只有一个div元素的toggler吗?
答案 0 :(得分:1)
您可以使用.text()
函数将div内容作为文本。请尝试以下代码。
$(document).ready(function() {
$("#mydivid").click(function() {
if ($(this).text() == 'Show +') {
$(this).text('Show -');
} else if ($(this).text() == "Show -") {
$(this).text('Show +');
}
});
});
PS:如果div为.text
,请将$.trim()
包裹在white space/newline
内。
答案 1 :(得分:0)
$(document).ready(function() {
$("#mydivid").click(function() {
var that = $(this);
if(that.text() == 'Show +') that.text('Show -');
else that.text('Show +');
});
});
答案 2 :(得分:0)
我认为这应该有用。
$(document).ready(function() {
$("#mydivid").click(function() {
if ($(this).text() === "Show +")
$(this).text("Show -");
else
$(this).text("Show +");
});
});
答案 3 :(得分:0)
以下是仅通过现有文本执行此操作的方法:
$(document).ready(function() {
$("#mydivid").click(function() {
$(this).text(function(i, old){
return "Show "+ ( /\+/.test( old) ) ? '-': '+';
})
});
});
我认为这是为了切换一个元素,在这种情况下,切换一个类将是一个更好的解决方案,但不清楚完整代码将做什么。
答案 4 :(得分:0)
$(document).ready(function() {
$("#mydivid").click(function() {
$(this).text(function(i,text) {
return text === 'Show +' ? 'Show -' : 'Show +';
});
});
});