仅保存当前实例的对象值

时间:2015-01-10 10:06:52

标签: javascript object

尝试仅为单个实例更改对象的值。

我试图创建一个小型库,它可以完成jQuery所做的一些事情,只是为了学习技巧。

我目前在将元素保留在对象中时遇到问题。

工作示例:

Brain('#test').html('a'); // this will change the innerHTML of #test with "a".

不工作的例子:

var a = Brain('#test');
var b = Brain('#test2');
a.html('a'); // should change content of #test to "a", but changes content of #test2 to "a"

我的JS:

// create the brain function to select elements
var Brain = function(selector, context)
{
    if (typeof context == 'undefined')
        var context = document;

    Brain.elements = context.querySelector(selector);

    return Brain;
};

// set and get innerHTML of element
Brain.html = function(content)
{
    if (typeof content != 'undefined')
        Brain.elements.innerHTML = content;
    return Brain.elements.innerHTML;
};

// testing
var a = Brain('#test');
var b = Brain('#test2');
a.html('a');
b.html('b');

我的HTML

<p id="test">test</p>
<p id="test2">test2</p>

jsfiddle example

1 个答案:

答案 0 :(得分:0)

您好我刚刚完成了您的代码。循环旋转两次并以#test2 id结束。这意味着Brain包含#test2的元素,这就是为什么第二个元素正在发生变化的原因。 更改代码如下所示

var a = Brain('#test').html('a');
var b = Brain('#test2').html('b');

快乐编码