Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Jquery转换为javascript(find())_Javascript_Jquery - Fatal编程技术网

将Jquery转换为javascript(find())

将Jquery转换为javascript(find()),javascript,jquery,Javascript,Jquery,我正在开发一个老式的学校应用程序。它太旧了,不支持jquery。这在大多数情况下都很好,但我遇到了一个让我非常恼火的地方 我需要选择一个包含单词“Novedades”的链接,这样我就可以更改http属性。我希望我能用不同的方式来做这件事,但他们有一个CMS,我每转一圈都在改变一切你能告诉我我喜欢这个系统吗 通常,这是我在Jquery中编写它的方式。很简单,但如何将查找结果转换为普通javascript var blog = $('.navbar-nav').find('a:contains(No

我正在开发一个老式的学校应用程序。它太旧了,不支持jquery。这在大多数情况下都很好,但我遇到了一个让我非常恼火的地方

我需要选择一个包含单词“Novedades”的链接,这样我就可以更改http属性。我希望我能用不同的方式来做这件事,但他们有一个CMS,我每转一圈都在改变一切你能告诉我我喜欢这个系统吗

通常,这是我在Jquery中编写它的方式。很简单,但如何将查找结果转换为普通javascript

var blog = $('.navbar-nav').find('a:contains(Novedades)');
所以很明显,这将从

var blog = document.getElementsByClassName("navbar-nav")

任何帮助都将不胜感激!:)

在斜视评论的基础上,你将不得不老调重弹:

var blog = document.querySelectorAll(".navbar-nav a");
for (var i=0;i<blog.length;i++){
   var thisBlog = blog[i];
   var txt = thisBlog.textContent.toLowerCase();
   if (txt.indexOf('novedades') > -1){
      //do your thing
   }
}
var blog=document.querySelectorAll(“.navbar nav a”);
对于(变量i=0;i-1){
//做你的事
}
}

基于文本内容的选择少于idea。但是,如果没有其他方法,我只会使用带有单个选择器的
document.querySelectorAll()
来获取
'.navbar nav a'
元素,然后通过测试每个元素的
.textContent
来过滤它们。@眯着眼睛看是的,我也不喜欢选择文本,但这是一个糟糕的系统。不过我不太确定你要去哪里。类似document.querySelectorAll('navbar-nava')。textContent('Novedades')?几乎可以。
querySelectorAll
方法返回一个集合。听起来您只需要执行一个操作,因此最简单、最广泛兼容的方法是使用
for
循环来迭代集合,检查每个元素的
.textContent
属性,然后更改循环中的
href
。@zazvorniki您应该手动创建一个函数,通过
标记循环并检查其内容。就像我之前发布的链接一样。这是一种方法,如果你只支持现代浏览器,或者可以传输代码,有更好的语法可用。在我看来不错,不过如果没有这些一次性使用的变量,它可能不会那么冗长。在模拟
:contains()
中,应保持区分大小写
if(blog[i].textContent.indexOf('Novedades')>-1{
Gotcha,为了清晰起见,故意用冗长的语言。非常感谢!你救了我的命,让我免于头撞桌子!