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(...);