-4

知道使 javascript/jquery 仅适用于 div 或 iframe 内的所有内容的方法吗?

举个例子:我有一个很酷的 javascript 函数,它可以让我的文本改变颜色,但是当我只希望它改变 div 或 iframe 中的文本时,它会改变整个文本页面的颜色。

有任何想法吗?

这是一些代码:

<script type="text/javascript">
    $(document).ready(function() { //  When the document is ready
    $.foo({
            fontchange: true,             //  Make the text pretty
        });
    });
</script>

编辑:这似乎比它的价值更麻烦,感谢您的帮助。

4

3 回答 3

4

发布代码后更新答案:

您发布的代码$.foo({fontchange: true})表明您正在使用 jQuery 插件,这有点不寻常,因为它不适用于一组选定的元素。这不是插件通常的工作方式,因此我们不知道您正在处理什么插件(大概它的文档讨论如何使其更具针对性)。

jQuery 插件的通常用法是首先获取一组要操作的元素,通常的选择器(见下文),然后在它们上调用插件函数。例如,$("some selector here").foo({fontchange: true});。但这并不是这个特殊的、不寻常的插件的工作方式。


原始答案

您已经标记了您的问题jquery,因此:您可以在页面上的任何元素或元素集周围获取 jQuery 包装器,您可以为其编写CSS3 选择器(以及更多)和jQuery函数,通常也可以通过它的别名$

因此,例如,如果您有一个divwith an id"foo"这将div使用 CSS 选择器获得一个 jQuery 实例#foo

var foo = $("#foo");

如果你在 a 中有一堆spans div,你可以使用通常的后代选择器语法来获取它们:

var spans = $("div span");
于 2012-04-23T11:28:28.393 回答
1

您的函数可能会document.body在某个时候引用以使节点发生更改。而不是document.body,给它别的东西。在大多数元素的情况下,只需传递元素就可以了。iframe但是,在contentDocument.

于 2012-04-23T11:26:04.943 回答
1

大多数 jQuery 调用使用所谓的“选择器”来选择要处理的元素。您的代码可能类似于:

$('body').do_cool_stuff();

选择整个身体。 'body'是那里的选择器,您可以将其更改为:

$('#somediv').do_cool_stuff();

只选择一个 div:

<div id='somediv'>...</div>

选择器#中的 与 的id属性相对应div

编辑,现在我们有了一些代码:尝试更改$.foo(...)$('#somediv').foo(...).

于 2012-04-23T11:28:26.640 回答