інфармацыйная тэхналогія

селектар JQuery і памылак CSS

Праблема 1: У мяне ёсць тры зменныя. імя класа спасылаецца на радок. назад ўтрымлівае ўтрыманне і спасылка ўтрымлівае HTML радок. Я спрабую прысвоіць змесціва ў любыя спасылкі на пераменны Classname.

var back = "test";
var className = "link1";
var link1 = '<div id="back" class="gohome"></div><div class="link3"></div><div class="link4"></div>';

Паколькі ніжэй код, здаецца, не працуе для мяне

$(className) = className + back;

Праблема 2: падобна, не ніжэй код, які будзе абнаўляць CSS у любой зменнай prevClass ўтрымлівае.

       $('[id*="back"]').each(function(){
            $('.' + prevClass).css({'left': '-123px'});
            $('.' + prevClass).css({'top': '430px'});
            $('.' + prevClass).css({'width': '123px'});
            $('.' + prevClass).css({'height': '44px'});

<script type="text/javascript">

    var back = "";
    var prevClass = "start"
    var className = "Broken";

    start = '<div id="back" class="gohome"></div><div class="link1"></div><div class="link2"></div>';
    gohome = '<div class="gohome"></div><div class="start"></div>';
    link1 = '<div id="back" class="gohome"></div><div class="link3"></div><div class="link4"></div>';
    link2 = '<div class="gohome"></div>';
    link3 = '<div id="back" class="gohome"></div><div class="link5"></div><div class="link6"></div>';
    link4 = '<div class="gohome"></div><div class="link7"></div><div class="link8"></div>';
    link5 = '<div class="gohome"></div><div class="link2a"></div><div class="link10"></div>';
    link6 = '<div class="gohome"></div><div class="link7"></div><div class="link11"></div>';
    link6a = '<div class="gohome"></div><div class="link7"></div><div class="link11"></div>';
    link7 = '<div class="gohome"></div><div class="link6a"></div><div class="link9"></div>';
    link8 = '<div class="gohome"></div><div class="link2a"></div><div class="link10"></div>';
    link9 = '<div class="gohome"></div><div class="link10a"></div>';
    link10 = '<div class="gohome"></div><div class="link12"></div><div class="link13"></div>';
    link10a = '<div class="gohome"></div><div class="link12"></div><div class="link13"></div>';
    link11 = '<div class="gohome"></div><div class="link10a"></div>';
    link12 = '<div class="gohome"></div><div class="link12"></div><div class="link13"></div>';
    link13 = '<div class="gohome"></div><div class="link14"></div><div class="link15"></div>';
    link14 = '<div class="gohome"></div>';
    link15 = '<div class="gohome"></div><div class="link16"></div><div class="link17"></div>';  
    link16 = '<div class="gohome"></div>';
    link17 = '<div class="gohome"></div><div class="link18"></div><div class="link19"></div>';
    link18 = '<div class="gohome"></div>';
    link19 = '<div class="gohome"></div><div class="link20"></div><div class="link21"></div>';
    link20 = '<div class="gohome"></div>';
    link21 = '<div class="gohome"></div>';



   $(document).on('click', '.inter [class]', function() {
   className = this.className; 
   $('[id*="back"]').each(function(){
        $('.' + prevClass).css({'left': '123px'});
        $('.' + prevClass).css({'top': '430px'});
        $('.' + prevClass).css({'width': '123px'});
        $('.' + prevClass).css({'height': '44px'});
    });

   back = '<div class="' + prevClass + '"></div>';
   $('.' + className).html(back);
   prevClass = className;
       $('.inter').fadeTo(250, 0.25, function() {
           $('.inter').html(window[className]); 

           $('.inter').css({'background-image': 'url("' + className + '.png")'});
           $('.inter').fadeTo(250, 1.00);

       });
   });

</script> 
0
Я лічу, што я пракаментаваў ваш іншае пытанне з гэтай нагоды, але $ ( «усё») не з'яўляецца «Jquery пераменная». Для большасці з вашых зменных патрэбаў, вы можаце проста выкарыстоўваць звычайныя зменныя JavaScript (напрыклад, вар javascriptVariable = $ ( 'jquerySelector.'); )
дададзена аўтар Alex W, крыніца
Я лічу, што я пракаментаваў ваш іншае пытанне з гэтай нагоды, але $ ( «усё») не з'яўляецца «Jquery пераменная». Для большасці з вашых зменных патрэбаў, вы можаце проста выкарыстоўваць звычайныя зменныя JavaScript (напрыклад, вар javascriptVariable = $ ( 'jquerySelector.'); )
дададзена аўтар Alex W, крыніца

7 адказы

Для задачы аднаго, неабходна выбраць і абнавіць трохі разумнейшыя. Паколькі имя_класс гэтага імя класа, вы хочаце:

<�Код> $ ( '' + імя класа)

(Як вы высветлілі, для задачы № 2)

Калі вы хочаце абнавіць змесціва (са спінкай):

<�Код> $ ( '' + імя класа) .html (таму);

Для задачы № 2, не ясна, што вы спрабуеце зрабіць.

Па-першае, #back ужо ў DOM? Гэта не будзе працаваць супраць вашай зменнай link1. Па-другое, што prevClass павінна быць?

2
дададзена
Паспрабую растлумачыць. "$ (Імя класа) = + імя класа назад;" У гэтым выпадку "$ (Classname)» павінна быць пераменная link1. імя класа павінна быць змест link1 і назад павінна ўтрымліваць ўтрыманне спіне так, у рэчаіснасці яго LINK1 = «<div ID =" назад "клас =" GOHOME "> </div> <div клас =" link3 "> </div> <div клас = "link4"> </div> »+ 'тэст';
дададзена аўтар sephiith, крыніца
#back не ў цяперашні час у DOM. Тое, што я спрабую зрабіць, гэта стварыць кнопку вяртання да папярэдняга класа. Можа быць, я павінен выклікаць без якіх-небудзь тэставанне. Любая ідэя, як я хацеў бы зрабіць гэта?
дададзена аўтар sephiith, крыніца

Праблема 1:

$(className) = className + back; 

Проста прысвойвае значэнне link1test ў зменную $ (Classname) .

e.g: $(className) = "link1test"

Калі «... назад змяшчае змесціва ...» і «... вы спрабуеце прысвоіць змесціва ў любой зменнай назва класа спасылкі ...», то вы будзеце выкарыстоўваць ,

$ ( '' + Імя класа) .html (таму);

Праблема 2:

Магчыма, селектар з'яўляецца няправільным. Вы спрабуеце выбраць адзін элемент з ідэнтыфікатарам назад затым змяніць CSS дзяцей з класам prevClass . Калі гэта так, гэта павінна працаваць.

   $('#back').each(function(){
        $('.' + prevClass).css({'left': '-123px'});
        $('.' + prevClass).css({'top': '430px'});
        $('.' + prevClass).css({'width': '123px'});
        $('.' + prevClass).css({'height': '44px'});
    });
0
дададзена
Здаецца, ўставіць назад змест, але затым ён знікае. Я дадаю поўны код у маім пасце.
дададзена аўтар sephiith, крыніца

Праблема 1:

$(className) = className + back; 

Проста прысвойвае значэнне link1test ў зменную $ (Classname) .

e.g: $(className) = "link1test"

Калі «... назад змяшчае змесціва ...» і «... вы спрабуеце прысвоіць змесціва ў любой зменнай назва класа спасылкі ...», то вы будзеце выкарыстоўваць ,

$ ( '' + Імя класа) .html (таму);

Праблема 2:

Магчыма, селектар з'яўляецца няправільным. Вы спрабуеце выбраць адзін элемент з ідэнтыфікатарам назад затым змяніць CSS дзяцей з класам prevClass . Калі гэта так, гэта павінна працаваць.

   $('#back').each(function(){
        $('.' + prevClass).css({'left': '-123px'});
        $('.' + prevClass).css({'top': '430px'});
        $('.' + prevClass).css({'width': '123px'});
        $('.' + prevClass).css({'height': '44px'});
    });
0
дададзена
Здаецца, ўставіць назад змест, але затым ён знікае. Я дадаю поўны код у маім пасце.
дададзена аўтар sephiith, крыніца

Пры выкарыстанні jQuery вы можаце лёгка выбраць ID нашмат прасцей, так як:

$('#back')

Я не ўпэўнены, што вы чакаеце ад * да вашага знака роўнасці?

0
дададзена
Я не ведаю, што робіць ён на самай справе хоча, але [АТР * = «значэнне»] Селектар атрымаць усе элементы з ATTR, якія змяшчаюць радковае значэнне (не трэба быць роўнымі, але ўтрымліваюць толькі).
дададзена аўтар Alcides Queiroz Aguiar, крыніца

Пры выкарыстанні jQuery вы можаце лёгка выбраць ID нашмат прасцей, так як:

$('#back')

Я не ўпэўнены, што вы чакаеце ад * да вашага знака роўнасці?

0
дададзена
Я не ведаю, што робіць ён на самай справе хоча, але [АТР * = «значэнне»] Селектар атрымаць усе элементы з ATTR, якія змяшчаюць радковае значэнне (не трэба быць роўнымі, але ўтрымліваюць толькі).
дададзена аўтар Alcides Queiroz Aguiar, крыніца

Ваш назва клас якар тэг? вы маглі б зрабіць нешта накшталт гэтага

$('.className').attr('href', link1 +'/'+ back);
0
дададзена

Ваш назва клас якар тэг? вы маглі б зрабіць нешта накшталт гэтага

$('.className').attr('href', link1 +'/'+ back);
0
дададзена