Jquery “如何找到全部”;a「;$http请求中的标记

Jquery “如何找到全部”;a「;$http请求中的标记,jquery,angularjs,cordova,Jquery,Angularjs,Cordova,(角度)如何定位data ng bind html=“post.content”中显示的所有“a”标记?在我的jQueryAjax请求中使用jQuery函数之前,我发现了所有链接,提取了url并添加了onclick函数来打开CordovaInAppBrowser中的链接。现在,当我运行一个角度http请求时,脚本似乎在内容加载到模板中之前运行,并且找不到任何链接。有解决办法吗?(其余内容仍能正确显示) .controller('GuidesDetailCtrl',['$scope','$http

(角度)如何定位data ng bind html=“post.content”中显示的所有“a”标记?在我的jQueryAjax请求中使用jQuery函数之前,我发现了所有链接,提取了url并添加了onclick函数来打开CordovaInAppBrowser中的链接。现在,当我运行一个角度http请求时,脚本似乎在内容加载到模板中之前运行,并且找不到任何链接。有解决办法吗?(其余内容仍能正确显示)

.controller('GuidesDetailCtrl',['$scope','$http','$stateparms',函数($scope,$http,$stateparms){
$scope.loadpost=函数(){
$scope.loading=true;
log(“$stateParams,$stateParams”);
//获取帖子的第一个请求
var response=$http.get('http://?p='+$stateParams.pid+'&json=1&apikey=');
response.success(函数(数据、状态、标题、配置){
控制台日志(数据);
$('#开始数据').html('');
//该职位的范围
$scope.post=data.post;
//获取喜欢数量的第二个请求
$http.get(“http://?apikey=&post_vote=1&post_id=“+$stateParams.pid+”)
.成功(功能(数据、状态){
$('.action-like').html(“”);
//jquery查找所有链接脚本
$('a')。每个(函数(){
警报(“运行”);
var url=($(this.attr('href'));
警报(url);
if(url.indexOf('http')==0){
$(this.css('text-decoration','none');
$(this.attr('href','#');
$(此)。单击(函数(){
var ref=window.open(url,“_blank”,“location=yes”);
});       
}
});
$(“#num_喜欢”+$stateParams.pid.html(“+data.num_投票+”);
$(“#like-icn"+pid).css(“color”,“#387EF5”);
});
错误(函数(数据、状态、标题、配置){
警报(“错误”);
控制台日志(数据);
});
$scope.loading=false;
});
错误(函数(数据、状态、标题、配置){
$(“#开始数据”).html(“

错误

”; $('#uclass').html('

); 控制台日志(数据); }); }; });
我已经在我的项目中正确地包含了jQuery

更新

我的新功能已经实现了这一点,但它在safari中不起作用:

     var allElements = document.getElementsByTagName('a');
       for (var i = 0, n = allElements.length; i < n; i++) {
           var url = allElements[i].getAttribute('href');
           //console.log('el '+allElements[i].getAttribute('href'));
           if(url != null) {
               if(url.startsWith("http")) {

                  console.log("el " + url);
                  allElements[i].innerHTML= ".....";
                  allElements[i].removeAttribute("href");

                  allElements[i].onclick = function() {
                    var ref = window.open(url, '_blank', 'location=yes');
                  };
               }
           }
       }
var-allegements=document.getElementsByTagName('a');
对于(var i=0,n=allegements.length;i
我终于想出了如何完成我的函数!我在MDN上读到,特定的字符串函数“startsWith”只在Firefox和Chrome中有效。请点击以下链接: 最好的解决方案是创建一个名为startsWith.Se的自定义函数。请在stackOverflow上回答这个问题,以获取进一步的说明

以下是我最终得到的代码:

//startsWith function from topic above
if (typeof String.prototype.startsWith != 'function') {
   String.prototype.startsWith = function (str){
   return this.slice(0, str.length) == str;
 };
}


function fixCordovaOutboundLinks() {

  var allElements = document.getElementsByTagName('a');

  for (var i = 0, n = allElements.length; i < n; i++) {

    var url = allElements[i].getAttribute('href');

    if(url != null) {

       if(url.startsWith("http")) {   

           console.log("el " + url);
           allElements[i].onclick = function(event) {      
           event.preventDefault();
           alert('URL opens: ' + url);
           var ref = window.open(url, '_blank', 'location=yes');

        };
      }
    }
  }
}
//从上面的主题开始使用函数
if(typeof String.prototype.startsWith!=“函数”){
String.prototype.startsWith=函数(str){
返回此.slice(0,str.length)==str;
};
}
函数fixCordovaOutboundLinks(){
var-allegements=document.getElementsByTagName('a');
对于(var i=0,n=allegements.length;i
我终于想出了如何完成我的函数!我在MDN上读到,特定的字符串函数“startsWith”只在Firefox和Chrome中有效。请点击以下链接: 最好的解决方案是创建一个名为startsWith.Se的自定义函数。请在stackOverflow上回答这个问题,以获取进一步的说明

以下是我最终得到的代码:

//startsWith function from topic above
if (typeof String.prototype.startsWith != 'function') {
   String.prototype.startsWith = function (str){
   return this.slice(0, str.length) == str;
 };
}


function fixCordovaOutboundLinks() {

  var allElements = document.getElementsByTagName('a');

  for (var i = 0, n = allElements.length; i < n; i++) {

    var url = allElements[i].getAttribute('href');

    if(url != null) {

       if(url.startsWith("http")) {   

           console.log("el " + url);
           allElements[i].onclick = function(event) {      
           event.preventDefault();
           alert('URL opens: ' + url);
           var ref = window.open(url, '_blank', 'location=yes');

        };
      }
    }
  }
}
//从上面的主题开始使用函数
if(typeof String.prototype.startsWith!=“函数”){
String.prototype.startsWith=函数(str){
返回此.slice(0,str.length)==str;
};
}
函数fixCordovaOutboundLinks(){
var-allegements=document.getElementsByTagName('a');
对于(var i=0,n=allegements.length;i
你正在解析一个html文件,你想要所有的标签吗?我正在获取一篇用JSON表示的wordpress帖子。我想删除所有包含http/https的“href”属性中的url,并用数字符号“#”替换它们,然后在所有的“a”标签中删除它们