如何使用 Javascript/Jquery 单击标题属性等于特定变量的列表项?
How to Click a List Item Where Title Attribute Equals a Specific Variable Using Javascript/Jquery?
我的网络应用程序中有以下列表:
<li class="ui-corner-all" title="#3100ff" style="border: none; background-color: rgb(144, 0, 255);"></li>
<li class="ui-corner-all" title="#9330ff" style="border: none; background-color: rgb(144, 0, 255);"></li>
<li class="ui-corner-all" title="#500055" style="border: none; background-color: rgb(144, 0, 255);"></li>
基本上,我试图让 JS and/or JQuery 单击具有特定标题值的列表项。比如点击title属性值为#9330ff
的list-item.
我正在寻找类似这样的代码:
var colortxt = '#9330ff';
if ($("li.ui-corner-all").attr("title") = colortxt) {
$("li.ui-corner-all[title=colortxt]").click();
}
此代码无效。
有谁知道任何与此类似的代码可用于此特定功能?如果有,能否请您说说这是什么?
感谢您的帮助。非常感谢所有帮助。
编辑: 如果我使用 $("li.ui-corner-all[title='#9330ff']").click();
,它会点击 list-item。但是,当我使用上面显示的代码(使用 if 语句和 colortxt
变量)时,它不会单击列表项。
你需要Attribute Equals Selector [name="value"],因为title的值在selector中包含#
需要转义所以我们用单引号括起来
$("li.ui-corner-all[title='#9330ff']").click(function() {
alert(this.title);
});
编辑 基于注释,因为 OP 想要在具有特定属性的项目退出时单击。
$("li.ui-corner-all[title='#9330ff']").click(function () {
alert(this.title);
});
var colortxt = '#9330ff';
var liObj = $("li.ui-corner-all[title='" + colortxt + "']");
if(liObj.length)
liObj.click();
这是一个完整的例子,http://jsfiddle.net/aec8v3c8/
var li = $('li[title="#9330ff"]').on('click', function(){
alert("yay you clicked me");
});
li.click(); // call click() to fire the event handler.
我不知道你是否注意到这里有几个语法错误
if ($("li.ui-corner-all").attr("title") = colortxt) {
这里是比较运算符的问题,必须是===
if ($("li.ui-corner-all").attr("title") === colortxt) {
另一个是选择器
$("li.ui-corner-all[title=colortxt]").click();
这是错误的字符串连接,您必须按以下方式连接 var
$("li.ui-corner-all[title='" + colortxt + "']").click();
希望对您有所帮助
我的网络应用程序中有以下列表:
<li class="ui-corner-all" title="#3100ff" style="border: none; background-color: rgb(144, 0, 255);"></li>
<li class="ui-corner-all" title="#9330ff" style="border: none; background-color: rgb(144, 0, 255);"></li>
<li class="ui-corner-all" title="#500055" style="border: none; background-color: rgb(144, 0, 255);"></li>
基本上,我试图让 JS and/or JQuery 单击具有特定标题值的列表项。比如点击title属性值为#9330ff
的list-item.
我正在寻找类似这样的代码:
var colortxt = '#9330ff';
if ($("li.ui-corner-all").attr("title") = colortxt) {
$("li.ui-corner-all[title=colortxt]").click();
}
此代码无效。
有谁知道任何与此类似的代码可用于此特定功能?如果有,能否请您说说这是什么?
感谢您的帮助。非常感谢所有帮助。
编辑: 如果我使用 $("li.ui-corner-all[title='#9330ff']").click();
,它会点击 list-item。但是,当我使用上面显示的代码(使用 if 语句和 colortxt
变量)时,它不会单击列表项。
你需要Attribute Equals Selector [name="value"],因为title的值在selector中包含#
需要转义所以我们用单引号括起来
$("li.ui-corner-all[title='#9330ff']").click(function() {
alert(this.title);
});
编辑 基于注释,因为 OP 想要在具有特定属性的项目退出时单击。
$("li.ui-corner-all[title='#9330ff']").click(function () {
alert(this.title);
});
var colortxt = '#9330ff';
var liObj = $("li.ui-corner-all[title='" + colortxt + "']");
if(liObj.length)
liObj.click();
这是一个完整的例子,http://jsfiddle.net/aec8v3c8/
var li = $('li[title="#9330ff"]').on('click', function(){
alert("yay you clicked me");
});
li.click(); // call click() to fire the event handler.
我不知道你是否注意到这里有几个语法错误
if ($("li.ui-corner-all").attr("title") = colortxt) {
这里是比较运算符的问题,必须是===
if ($("li.ui-corner-all").attr("title") === colortxt) {
另一个是选择器
$("li.ui-corner-all[title=colortxt]").click();
这是错误的字符串连接,您必须按以下方式连接 var
$("li.ui-corner-all[title='" + colortxt + "']").click();
希望对您有所帮助