读书人

什不能用自定函?解决办

发布时间: 2012-02-06 15:52:44 作者: rapoo

什不能用自定函?
<PRE>
<FONT FACE="Courier New">
<FONT COLOR="#0000ff">function </FONT><FONT COLOR="#000000">getElementsByClass</FONT><FONT COLOR="#800000">(</FONT><FONT COLOR="#000000">rootNode</FONT><FONT COLOR="#800000">,</FONT><FONT COLOR="#000000">classToSearch</FONT><FONT COLOR="#800000">,</FONT><FONT COLOR="#800080">tagName</FONT><FONT COLOR="#800000">) { </FONT>
<FONT COLOR="#0000ff">var </FONT><FONT COLOR="#000000">elementsToReturn </FONT><FONT COLOR="#800000">= </FONT><FONT COLOR="#0000ff">new </FONT><FONT COLOR="#ff0000">Array</FONT><FONT COLOR="#800000">(); </FONT>

<FONT COLOR="#0000ff">var </FONT><FONT COLOR="#000000">elementList </FONT><FONT COLOR="#800000">= </FONT><FONT COLOR="#000000">rootNode</FONT><FONT COLOR="#800000">.</FONT><FONT COLOR="#008080">getElementsByTagName</FONT><FONT COLOR="#800000">(</FONT><FONT COLOR="#800080">tagName</FONT><FONT COLOR="#800000">); </FONT>
<FONT COLOR="#0000ff">var </FONT><FONT COLOR="#000000">nLen </FONT><FONT COLOR="#800000">= </FONT><FONT COLOR="#000000">elementList</FONT><FONT COLOR="#800000">.</FONT><FONT COLOR="#800080">length</FONT><FONT COLOR="#800000">; </FONT>

<FONT COLOR="#0000ff">var </FONT><FONT COLOR="#000000">pattern </FONT><FONT COLOR="#800000">= </FONT><FONT COLOR="#0000ff">new </FONT><FONT COLOR="#ff0000">RegExp</FONT><FONT COLOR="#800000">(</FONT><FONT COLOR="#ff00ff">"\\b"</FONT><FONT COLOR="#800000">+</FONT><FONT COLOR="#000000">classToSearch</FONT><FONT COLOR="#800000">+</FONT><FONT COLOR="#ff00ff">"\\b"</FONT><FONT COLOR="#800000">); </FONT>

<FONT COLOR="#0000ff">for</FONT><FONT COLOR="#800000">(</FONT><FONT COLOR="#0000ff">var </FONT><FONT COLOR="#000000">i </FONT><FONT COLOR="#800000">= </FONT><FONT COLOR="#800080">0</FONT><FONT COLOR="#800000">; </FONT><FONT COLOR="#000000">i </FONT><FONT COLOR="#800000">< </FONT><FONT COLOR="#000000">nLen</FONT><FONT COLOR="#800000">; </FONT><FONT COLOR="#000000">i</FONT><FONT COLOR="#800000">++){ </FONT>
<FONT COLOR="#0000ff">if</FONT><FONT COLOR="#800000">( </FONT><FONT COLOR="#000000">pattern</FONT><FONT COLOR="#800000">.</FONT><FONT COLOR="#008080">test</FONT><FONT COLOR="#800000">(</FONT><FONT COLOR="#000000">elementList</FONT><FONT COLOR="#800000">[</FONT><FONT COLOR="#000000">i</FONT><FONT COLOR="#800000">].</FONT><FONT COLOR="#800080">className</FONT><FONT COLOR="#800000">) ){ </FONT>
<FONT COLOR="#000000">elementsToReturn</FONT><FONT COLOR="#800000">[</FONT><FONT COLOR="#000000">elementsToReturn</FONT><FONT COLOR="#800000">.</FONT><FONT COLOR="#800080">length</FONT><FONT COLOR="#800000">] = </FONT><FONT COLOR="#000000">elementList</FONT><FONT COLOR="#800000">[</FONT><FONT COLOR="#000000">i</FONT><FONT COLOR="#800000">]; </FONT>


<FONT COLOR="#800000">} </FONT>
<FONT COLOR="#800000">} </FONT>
<FONT COLOR="#0000ff">return </FONT><FONT COLOR="#000000">elementsToReturn</FONT><FONT COLOR="#800000">; </FONT>
<FONT COLOR="#800000">} </FONT>


<FONT COLOR="#000000">上面是我在上搜到的一自定函,在我用它:</FONT>

<FONT COLOR="#0000ff">var </FONT><FONT COLOR="#000000">ceshi </FONT><FONT COLOR="#800000">= </FONT><FONT COLOR="#000000">getElementsByClass</FONT><FONT COLOR="#800000">(</FONT><FONT COLOR="#ff00ff">"document"</FONT><FONT COLOR="#800000">,</FONT><FONT COLOR="#ff00ff">"ads"</FONT><FONT COLOR="#800000">,</FONT><FONT COLOR="#ff00ff">"table"</FONT><FONT COLOR="#800000">);</FONT>
<FONT COLOR="#0000ff">for </FONT><FONT COLOR="#800000">(</FONT><FONT COLOR="#0000ff">var </FONT><FONT COLOR="#000000">i</FONT><FONT COLOR="#800000">=</FONT><FONT COLOR="#800080">0</FONT><FONT COLOR="#800000">; </FONT><FONT COLOR="#000000">i</FONT><FONT COLOR="#800000"><</FONT><FONT COLOR="#000000">ceshi</FONT><FONT COLOR="#800000">.</FONT><FONT COLOR="#800080">length</FONT><FONT COLOR="#800000">; </FONT><FONT COLOR="#000000">i</FONT><FONT COLOR="#800000">++)</FONT>
<FONT COLOR="#000000">ceshi</FONT><FONT COLOR="#800000">[</FONT><FONT COLOR="#000000">i</FONT><FONT COLOR="#800000">].</FONT><FONT COLOR="#008080">getElementsByTagName</FONT><FONT COLOR="#800000">(</FONT><FONT COLOR="#ff00ff">"A"</FONT><FONT COLOR="#800000">)[</FONT><FONT COLOR="#800080">0</FONT><FONT COLOR="#800000">].</FONT><FONT COLOR="#000000">click</FONT><FONT COLOR="#800000">();</FONT>


<FONT COLOR="#000000">什最后有反?哪了?</FONT>
</FONT>
</PRE>


[解决办法]
要传的话,实参也不应该是字符串
[解决办法]
楼上说的对,document是个对象名,作为参数传递的时候直接用document就可以了,不要加引号,加了引号变字符串了
它顶多可以作为个字符串对象使用当然没有后面那些属性了
把你的"document"改成document应该就可以了

读书人网 >JavaScript

热点推荐