我目前有一些Jquery代码,允许根据页面的h1和h2将文本添加到链接。
以下是JSFIDDLE
问题是现在这个应用于页面上的所有hrefs,包括菜单等,这没有用,因为这些链接不需要额外添加的代码。
以下是我们正在使用的代码
HTML:
public class NewsFragment extends BaseLazyFragment {
private boolean isPrepared;
//a flag to judge init action has finished
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_news_page,null);
//do init
// when init is finish , set flag true;
isPrepared = true;
lazyLoad();
return view;
}
@Override
protected void lazyLoad() {
// according this judge, can prevent nullpointerexception
if(!isPrepared || !isVisible){
return;
}
// assignment the view
// get data from network assignment to varible
}
}
Jquery的
<h1>Web Developer</h1>
<h2>jQuery</h2>
<a href="example.com/?Question12=">job link</a>
<hr>
<div id="href"></div>
答案 0 :(得分:2)
向id
元素添加<a...>
属性,以便您可以明确地引用它。
HTML:
<a href="example.com/?Question12=" id="thisOne">job link</a>
的jQuery
var link = $("a#thisOne").attr("href");
答案 1 :(得分:1)
您所要做的就是选择包含已拥有信息的锚点:
<a href="example.com/?Question12=">job link</a>
使用:
var link = $('a[href$="Question12="]').attr('href');
这使用jQuery的“ends with”属性选择器。
JavaScript和jQuery的优点在于,您很少需要修改标记以包含它们并有效地使用它们。 “不引人注目的JavaScript”建立在许多开发人员已经实践多年的Progressive Enhancement的主体上。
答案 2 :(得分:0)
您可以依赖于标题元素
使用Next Adjacent Selector(“prev + next”)$('h2+a').attr("href", link);
如果您不想弄乱HTML标识符,这将为您完成工作