0

我试图多次调用一个变量,但它只在一次工作。我猜您只能使用该变量一次。有没有解决的办法?

这是我要实现的目标的示例...

var prependThis = $('<li><a href="#">PREPEND ME</a></li>');
var andThis = $('<li><a href="#">PREPEND ME TOO</a></li>');
$(function () {
    if ($('body').hasClass('test')) {
        $(prependThis).prependTo($('.testing'));
        $(andThis).prependTo($('.test'));
    } else if ($('body').hasClass('anothertest')) {
        $(prependThis).prependTo($('.testing'));
        $(andThis).prependTo($('.test'));
    }
});
4

2 回答 2

0

您没有使用选择器获得有效的 jQuery 对象:

var prependThis = $('<li><a href="#">PREPEND ME</a></li>');
var andThis = $('<li><a href="#">PREPEND ME TOO</a></li>');

这里

如果你想附加一个字符串,你应该只用引号将它们分配给变量:

var prependThis = '<li><a href="#">PREPEND ME</a></li>';
var andThis = '<li><a href="#">PREPEND ME TOO</a></li>';

这将在放入 DOM 时显示为 HTML 代码。

所以你可以这样做:

$(function() {
if ($('body').hasClass('test')){
    $(prependThis).prependTo('.testing');
    $(andThis).prependTo('.test');
}
else if ($('body').hasClass('anothertest')){
    $(prependThis).prependTo('.testing');
    $(andThis).prependTo('.test');
}

});

请注意,您确实错过了这里的报价单$(prependThis).prependTo('.testing');

jsFiddle

于 2013-11-13T20:10:29.247 回答
0

DOM 对象只能附加一次。您需要克隆 jQuery 元素以便能够多次附加它。

var prependThis = $('<li><a href="#">PREPEND ME</a></li>');
var andThis = $('<li><a href="#">PREPEND ME TOO</a></li>');

$(function () {
    if ($('body').hasClass('test')) {
        prependThis.clone().prependTo($('.testing'));
        andThis.clone().prependTo($('.test'));
    } else if ($('body').hasClass('anothertest')) {
        prependThis.clone().prependTo($('.testing'));
        andThis.clone().prependTo($('.test'));
    }

});
于 2013-11-13T20:03:47.097 回答