jQuery -检查标签's的内容是否等于sometext,然后做点什么
jQuery - Check if the tag's content is equal to sometext then do something
假设我的内容中有很多这样的内容div
: <cite class="fn">blabla</cite>
我如何检查每个cite
标签的内容(在这种情况下:blabla
)与fn
类,看看它是否等于"sometext"然后改变它的颜色为红色?
非常简单。
$('cite.fn:contains(blabla)').css('color', 'red');
编辑:虽然这也会匹配"blablablabla"
$('cite.fn').each(function () {
if ($(this).text() == 'blabla') {
$(this).css('color', 'red');
}
});
这应该更准确。
编辑:实际上,我认为bazmegakapa的解决方案更优雅:$('cite.fn').filter(function () {
return $(this).text() == 'blabla';
}).css('color', 'red');;
您可以使用神奇的.filter()
方法。它可以接受一个函数作为它的参数,这将把jQuery集合的元素减少到那些通过它的测试的元素(对于这些测试函数返回true)。之后,您可以轻松地在其余元素上运行命令:
var searchText = 'blabla';
$('cite.fn').filter(function () {
return $(this).text() === searchText;
}).css('color', 'red');
jsFiddle演示
你可以这样做:
$('cite.fn').each(function() {
var el = $(this);
if (el.text() === 'sometext') {
el.css({ 'color' : 'red' });
}
});
这将对每个具有fn
类的cite
触发一个函数。该函数检查当前cite
的值是否等于'sometext'。
如果是,那么我们将CSS的color
(text-color)属性改为red
。
注意我在这个例子中使用jQuery,因为你已经特别标记了你的问题jQuery
。忽略downvote,这是在我编辑一个错别字(el.val()
而不是el.text()
)之前应用的
不使用jQuery:
var elms = document.querySelectorAll("cite.fn"), l = elms.length, i;
for( i=0; i<l; i++) {
if( (elms[i].innerText || elms[i].textContent) == "blabla") {
elms[i].style.color = "red";
}
}
相关文章:
- 访问布局信息是否也会导致浏览器重排
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 如何检测是否有溢出
- jQuery中是否内置了任何字符串格式化函数
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 测试索引值是否等于某个数字的倍数
- Fancybox是否将Click事件静音
- 主干-不管怎样,检查事件以前是否绑定过
- YUI3 IO实用程序是否可以根据给定的内容类型标头值自动序列化数据
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- 是否有任何方法可以使用jQuery替换在数组中定义值的文本
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 是否可以禁用jquery中的单个单选按钮
- 是否可以从父类访问子类的属性
- 是否可以控制获取哪些Google地图脚本(JavaScript API)
- 如何让程序检查所选单词中是否有按键
- 用于检查数组中是否存在元素的javascript自定义方法
- 如何使用jquery确定用户是否年满18岁
- jQuery -检查标签's的内容是否等于sometext,然后做点什么