如何将jquery变量的内容分配给另一个变量

时间:2013-05-21 03:27:43

标签: jquery css

我尝试将变量的内容分配给另一个变量。我该怎么做呢? 到目前为止,我已经尝试过这个:

var className = $($(this).attr("class"););

$('.content').html(className)

编辑:

请假设“var className = $($(this).attr(”class“););的结束值;”是point1

第1点包含:

编辑2 :(包含完整代码)

    <div class="content"><h1>testing hello world</h1><div class="position"> <div class="point1"> test<br> awewa<br> TEST <h1> test </h1> </div></div></div>

    <script type="text/javascript">
    var point1 = '<div class="content"><h1>testing hello world</h1><div class="position"> <div class="point1"> test<br> awewa<br> TEST <h1> test </h1> </div></div></div>';
    var className = "Broken";
    $('.content [class] [class]').click(function () {$(this).fadeTo(250, 0.25, function () {
    className = $(this).attr("class");
    $('.content').html(className)

    $(this).fadeTo(250, 1.00);

    });}
    );

    </script> 


var point1 = '<div class="content"><h1>testing hello world</h1><div class="position"> <div class="point1"> test<br> awewa<br> TEST <h1> test </h1> </div></div></div>';

“$('。content')。html(className)”&lt; className需要包含point1中的字符串

4 个答案:

答案 0 :(得分:1)

好吧假设我明白了。你有一些html存储在一些变量中,这些变量与某个元素的类名相同,并且单击该元素。您希望从该变量中获取html并将其作为内容分配给另一个具有类名.content的元素。

$('.someClass').on('click',function(){
    var className = this.className; // Get the classname whic is a variable
   var content = window[className];
   if(content)
    $('.content').html(content); //Assuming variable is defined in the window Scope. 
});

拆分: -

window[className]&lt; - 获取窗口范围中定义的变量。

更新: -

根据您的代码更新尝试此操作。由于您要替换内容并再次发生单击,您应该使用.on()使用委托事件处理程序,对旧版本的jquery使用.live

   var className = "Broken";
   $(document).on('click', '.content [class] [class]', function () {
       $(this).fadeTo(250, 0.25, function () {
           className = this.className;
           $('.content').html(window[className]);
           $(this).fadeTo(250, 1.00);

       });
   });

Demo

答案 1 :(得分:0)

修改

听起来这就是你想要做的事情

var className = $('.' + $(this).attr("class")).html();
$('.content').html(className);

答案 2 :(得分:0)

假设'this'表示一个元素(如果你在$ .each()回调中,那么$(this).attr('class')将返回分配给该元素的所有CSS类。这不是与所有只影响'class =“”'中显示的值的CSS规则相同。你拥有的外部$()将隐藏你问题中第一个分配的返回值。第二行将设置带有“content”类的元素的innerHTML到第一行返回的值。

答案 3 :(得分:0)

除了看起来没问题之外,代码中还存在语法错误。

假设您要做的是在this元素

中显示元素.content的class属性的值
var className = $(this).attr("class");
$('.content').html(className)

演示:Fiddle

更新:
假设className是与对象x关联的属性的名称,则可以使用x[className ]来获取值。
如果变量是在全局上下文中创建的,那么您可以使用window[className]来获取值

var point1 = '<div class="content"><h1>testing hello world</h1><div class="position"> <div class="point1"> test<br> awewa<br> TEST <h1> test </h1> </div></div></div>';
jQuery(function($){
    var className = "Broken";
    $('.content').on('click', '[class] [class]', function () {
        $(this).fadeTo(250, 0.25, function () {
            className = $(this).attr("class");
            $('.content').html(window[className])
        });
    });
});

演示:Fiddle