如何使用jquery消除html/文本按钮内容
How to disinguish html/text button content using jquery
我需要能够区分以下三种样式的按钮:
<button>Something</button>
<button><i class="icon-user"></i> Something</button>
<button><i class="icon-user"></i></button>
我尝试使用html().length
和Is('i')
,这使我能够区分第一个和其他,但不确定确定内容是否只是图标或是否有文本的最佳方法。
$(this).children().length > 0
将在情况 2 和 3 中返回true
。
$(this).text().length > 0
将在情况 1 和 2 中返回true
。
结合使用这些。
你可以做这样的事情。我的示例只是更改按钮背景颜色,但显然您可以更改它以执行任何您喜欢的操作。
// Case 1
$('button:not(:has(i))').css('background', '#00f');
$('button:has(i)').each(function () {
var btn = $(this);
if (btn.text().length > 0) {
// Case 2
btn.css('background', '#0f0');
} else {
// Case 3
btn.css('background', '#f00');
}
});
这里有一个小提琴显示它的工作原理:http://jsfiddle.net/SJDJD/
要检查按钮是否有任何 html 元素:
$("button").each(function(i){
index = i+1;
htmlElements = $(this).find("*");
if(htmlElements.length > 0){
alert("Button no. "+index+" has an html object");
}
});
相关文章:
- 将文本框链接到由按钮运行的javascript公式
- JS中的按钮和文本输入
- 将文本框中的值用于按钮窗体操作上的变量
- 使用加号按钮添加多个文本框,并通过PHP提交
- 输入文本框为空时的阻止按钮asp.网络表单
- 如何通过单击html按钮获得h1的文本值
- 我想重定向点击,然后更改按钮文本,我该怎么做
- html代码需要可点击的文本按钮
- 如何在单击按钮时显示文本(按钮被<span></span>标记包围)
- 用于 asp:label 的 Javascript 更多/更少文本按钮
- 如何使用jquery消除html/文本按钮内容
- 输入文件-更改数据按钮文本的文本按钮
- “编辑文本”按钮不起作用
- “更改范围文本”按钮
- 垂直对齐文本与短长文本按钮
- 为什么文本/按钮跳转页面加载(Chrome)
- 如何在移动操作系统(android,ios)中使用Javascript触发复制文本按钮
- 为文本按钮分配Jquery列表值
- Jquery改变文本按钮显示更多/显示更少
- Javascript如何制作复制此文本按钮