源:
<li>
<p>html html html <a>
<p>html html
<a>
</li>
我有一些带有段落的列表项目,在最后一段之后总是有一个链接。想法是触发最后一个锚
(&#39; a:last&#39;)无法正常工作
代码:
$(somelink).on('click', this, function(e){
e.preventDefault();
loadArticlePage($(this));
});
function loadArticlePage(thisObj){
setTimeout(function(){
thisObj.closest('li').find('a:last')[0].click();
},1500);
}
现在它仍在触发dom中的第一个锚点 最近的方法用于查找html的正确部分。 当我点击某些链接&#39;
时会呈现htmlexample
<li>
<somelink>
<dataholder>
</li>
当您点击somelink
时,数据持有者将填充数据(请参阅顶部)答案 0 :(得分:1)
你可以这样做:
$('ul li > a:last').trigger('click');
此处li > a
仅定位li
中p
的儿童$('li > a:last').css('color', 'red');
而非幼儿。
这里有一个小测试:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li>
<p><a href='#'>grand-child of li and child of "p"</a></p>
<a href='#'>child of li</a>
</li>
</ul>
&#13;
$('ul li').on('click', function(){
$(this).find('> a:last').trigger('click');
});
&#13;
@Component
public class XUtility {
private Map<String, List<String>> xcache = new ArrayList<String>();
// this method is being called only after login
public void initX_Cache(String key) {
if (xcache.containsKey(key)) {
xcache.remove(key);
}
}
// this method is called many times from service A,B,C..
public List<String> getX(String key) {
List<String> values = xcache.get(key);
if (values != null) {
return values;
}
List<String> vals = new ArrayList<String>();
//daos = call the Database ...
for (DAOObeject dao : daos) {
vals.add(dao.getKey());
}
xcache.put(key, vals); // save in cache the
return vals;
}
}