Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在jQuery中模拟PHP$$(双美元符号)_Jquery_Jquery Plugins - Fatal编程技术网

如何在jQuery中模拟PHP$$(双美元符号)

如何在jQuery中模拟PHP$$(双美元符号),jquery,jquery-plugins,Jquery,Jquery Plugins,首先,让我提一下,这是我第一次尝试一个从头开始的jQuery插件 首先,我希望我的插件通过一个对象接受用户定义的选项(+parms)。例如: <script> $(document).ready(function() { $('.myClass').augaetrk({ myobja : {zero:'obj00 zero',one:'obj01 one',two:'obj02 two'}, myobjb : {

首先,让我提一下,这是我第一次尝试一个从头开始的jQuery插件

首先,我希望我的插件通过一个对象接受用户定义的选项(+parms)。例如:

<script>
    $(document).ready(function() {
        $('.myClass').augaetrk({
            myobja : {zero:'obj00 zero',one:'obj01 one',two:'obj02 two'},
            myobjb : {zero:'obj10 aaa',one:'obj11 bbb'}
        });
    }); 
</script>
// this object mimics the object passed to your plugin
var myobj = {
    myobja: {
        zero: 'obj00 zero',
        one: 'obj01 one',
        two: 'obj02 two'
    },
    myobjb: {
        zero: 'obj10 aaa',
        one: 'obj11 bbb'
    }
}

var objectName = "myobja"; // This would be the value from the A elements' class
alert(myobj[objectName].zero)

$(文档).ready(函数(){
$('.myClass').augaetrk({
myobja:{zero:'obj00 zero',one:'obj01 one',two:'obj02 two'},
myobjb:{zero:'obj10aaa',one:'obj11bbb'}
});
}); 
注意:这些对象的名称将不会预定义。它们将由使用插件的开发人员自行决定

长话短说,在插件中,我解析(例如)一个链接的CSS类,以确定我应该在插件中进一步使用哪个用户parms对象。比如说

<a class="other-class-1 this-myobja otherclass-2" href="http://mylink.com">some link</a>

我可以得到这个类——在本例中是myobja和我需要的对象的名称myobja。我似乎不明白的是如何使用该字符串/值作为我想要访问/利用其parm值的对象的名称

目前,我正在浏览每个选项,并使用一个简单的if来访问我想要的对象。这是可行的,但我认为我增加了很多不必要的开销。在PHP中,我会使用$$,但在jQuery中,我似乎找不到这种等价物

如何获取解析链接的class=得到的值,然后使用该值获得相应的(用户)选项


如果你能帮忙的话,请慢慢打字,并假设我知道的比你认为我可能知道的还要少。虽然我可能是一个稍微高级的编程概念,但我绝不是一个高级甚至普通的jQuery开发人员。我相信你很忙,但是如果你给出一个答案/例子,请记住我正在努力学习,所以如果你能解释一下,我将不胜感激。谢谢

如果可以从
a
的类中获取对象的相关部分的名称,则可以这样引用它:
对象[“stringKey”]
对象[变量]
。举个例子:

<script>
    $(document).ready(function() {
        $('.myClass').augaetrk({
            myobja : {zero:'obj00 zero',one:'obj01 one',two:'obj02 two'},
            myobjb : {zero:'obj10 aaa',one:'obj11 bbb'}
        });
    }); 
</script>
// this object mimics the object passed to your plugin
var myobj = {
    myobja: {
        zero: 'obj00 zero',
        one: 'obj01 one',
        two: 'obj02 two'
    },
    myobjb: {
        zero: 'obj10 aaa',
        one: 'obj11 bbb'
    }
}

var objectName = "myobja"; // This would be the value from the A elements' class
alert(myobj[objectName].zero)

可以使用方括号将字符串用作对象的键

var object = {};
var str = 'prop';
object[str] = 12;
console.log(object.prop); // 12
欢迎光临

您希望接收的用户选项是来自上述源的对象吗<代码>myobja,
myobjb
? 那么,如何将这些对象存储在关联数组中呢

objects["myobja"] = myobja;
objects["myobjb"] = myobjb;

这有点帮助吗?

以您现在使用的形式提供相关代码会非常有帮助,因为一行代码可以说一千个单词;obj.Thepertyasavariable然后您可以执行
obj[Thepertyasavariable]
。请通过
augaetrk
方法提供代码。P.S<代码>$$在PHP中称为变量。Hi-Rory的副本。谢谢我怀疑这是因为我没有完全理解正确的jQuery符号。请再问一个问题-我如何处理-或不处理-objectName和quotes。也就是说,当我解析类以获得我想要的对象名时,我是否将其放在引号中?附加引号?整理好了。谢谢你,罗瑞。最后两行正是我需要的。我觉得自己很愚蠢,但与此同时,我在谷歌上到处寻找一个例子,发现了nuttin。干杯我想那是可能的。然而,我的瓶颈不是我如何存储参数,而是我如何根据流程下一步的值访问参数。是的,你说从基础开始,但我假设你知道如何创建a。数组你知道如何把数据拉回来:)我看到罗伊相应地编辑了他的答案:)很抱歉!是的,但是把它们作为选项传给别人让我很不舒服。尽管如此,正如我提到的,我的问题可能是记法,我认为这可能也有帮助。