如何使用 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();

希望对您有所帮助