Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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
Javascript 两行类似的代码,一行有效,另一行无效';T为什么不呢?_Javascript_Jquery_Dom_Syntax - Fatal编程技术网

Javascript 两行类似的代码,一行有效,另一行无效';T为什么不呢?

Javascript 两行类似的代码,一行有效,另一行无效';T为什么不呢?,javascript,jquery,dom,syntax,Javascript,Jquery,Dom,Syntax,我有以下两行: $target_box.children('a.ajax_trigger_title').addClass('opened_post_title'); jQuery('#'+$target_box.attr('id')+' a.ajax_trigger_title').addClass('opened_post_title'); 第一行不行,但第二行行行。为什么? 以下是相关的HTML,如果您必须知道: <div class="box" id="30" style="po

我有以下两行:

$target_box.children('a.ajax_trigger_title').addClass('opened_post_title');
jQuery('#'+$target_box.attr('id')+' a.ajax_trigger_title').addClass('opened_post_title');
第一行不行,但第二行行行。为什么?

以下是相关的HTML,如果您必须知道:

<div class="box" id="30" style="position: absolute; left: 350px; top: 0px; margin-top: 10px; margin-right: 10px; margin-bottom: 10px; margin-left: 10px; ">
    <h2>
        <a class="ajax_trigger_title" id="open_30" href="http://keepskatinbro.com/2011/01/20/some-highlights-from-ksbs-throw-down-show-down/" rel="30">
            <span>Highlights from KSB’s “Throw Down Show Down”.</span>
        </a>
    </h2>
</div>

$target_box是类为“.box”

的div,因为.children()只选择直接子级。其中,as“#X Y”选择ID为X的元素的所有子代Y。

$target_框中的“children”替换为
$target_框中的“children”。children
替换为
$target_框。find


子节点选择直接子节点,而“查找”在节点内查找

或者,您可以使用
$target\u box
作为:


(是的,这违反了OP的评论*“有没有办法重写第#1行,使其以$target_框开头。为了让代码更易于阅读?”*直到我发布后才看到。)

哦,我明白了!那么,是否有办法重写第1行,使其以
$target\u框开头。
以获得可读性更强的代码?@trusktr将
子项
替换为
查找
$('a.ajax_trigger_title', $target_box).addClass(...);