在href

时间:2015-09-30 10:09:59

标签: jquery

以下是我的剧本

 $('<a class="page_link" href="javascript:'+getResults('http://192.168.1.122:10039/wps/mycontenthandler/vamshi/!ut/p/digest!SqaCnIAqyulFhaUStKGgJQ/searchfeed/search?query=*&scope=1440172377201&start=0&results=1000&pageSize=2&page=' + i)+'" longdesc="0" style="display: inline-block;">' + i + '</a>').insertBefore('.next_link'); 

如上所述我试图在href属性上调用一个函数。但是在href上显示未定义。

这样做的正确方法是什么?

5 个答案:

答案 0 :(得分:1)

我建议使用jQuery创建HTML并使用它绑定事件。请参阅jQuery( html, attributes )

$('<a />', {
    'class' : 'page_link', 
    'longdesc' : 0,
    'text' : i  
}).css({
    'display' : 'inline-block'
}).on('click', function(){
    getResults('http://192.168.1.122:10039/wps/mycontenthandler/vamshi/!ut/p/digest!SqaCnIAqyulFhaUStKGgJQ/searchfeed/search?query=*&scope=1440172377201&start=0&results=1000&pageSize=2&page=' + $(this).text());
})
.insertBefore('.next_link'); 

答案 1 :(得分:1)

您可以在容器或正文上创建一个事件,而不是在每个添加的元素上绑定事件:

ready函数中:

$('body').on('click', 'a.page_link', function (e) {
    e.preventDefault();
    getResults('http://192.168.1.122:10039/wps/mycontenthandler/vamshi/!ut/p/digest!SqaCnIAqyulFhaUStKGgJQ/searchfeed/search?query=*&scope=1440172377201&start=0&results=1000&pageSize=2&page=' + $(this).text());
});

每当您想要插入新元素时:

$('<a class="page_link" href="#" style="display: inline-block;">' + i + '</a>').insertBefore('.next_link'); 

答案 2 :(得分:0)

你的关闭,你只需要将你的href更新为: -

$('<a class="page_link" href="javascript:getResults("http://192.168.1.122:10039/wps/mycontenthandler/vamshi/!ut/p/digest!SqaCnIAqyulFhaUStKGgJQ/searchfeed/search?query=*&scope=1440172377201&start=0&results=1000&pageSize=2&page=' + i + '") longdesc="0" style="display: inline-block;">' + i + '</a>').insertBefore('.next_link');

你正在混合'&amp; ”

答案 3 :(得分:0)

您可以尝试以下代码:

 $('<a class="page_link" href="javascript:getResults(\'http://192.168.1.122:10039/wps/mycontenthandler/vamshi/!ut/p/digest!SqaCnIAqyulFhaUStKGgJQ/searchfeed/search?query=*&scope=1440172377201&start=0&results=1000&pageSize=2&page='+  i+'\');" longdesc="0" style="display: inline-block;">' + i + '</a>').insertBefore('.next_link');

答案 4 :(得分:0)

这是一个有效的demo

<强> HTML

<div id="hello"></div>

<强> JS

$('<a/>', {
    href: '#',
    class: 'page_link',
    html: 0,
    click: function() { alert("Hi"); }
}).appendTo($('#hello'));

希望这会对你有所帮助。

注意:html是您要显示超链接的文字。