make jquery仅适用于页面上的单个ahref

时间:2015-09-22 12:39:06

标签: javascript php jquery html

我目前有一些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>

3 个答案:

答案 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”属性选择器。

Attribute Selectors

JavaScript和jQuery的优点在于,您很少需要修改标记以包含它们并有效地使用它们。 “不引人注目的JavaScript”建立在许多开发人员已经实践多年的Progressive Enhancement的主体上。

答案 2 :(得分:0)

您可以依赖于标题元素

使用Next Adjacent Selector(“prev + next”)
$('h2+a').attr("href", link);

如果您不想弄乱HTML标识符,这将为您完成工作