suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript - Warum kann der ID-Selektor von jqeury mit String-Verkettung nicht verwendet werden?

for(var i = 0; i < checkeds.length; i++){
    var check = 'user'+checkeds[i]+'--mycheckbox';
    $("#"+check).parent('td').siblings('.text-status').removeClass('text-green');
    console.log($("#"+check).parent('td'));
}

In diesem Code ist „checkeds“ ein Array von IDs. Die dritte Zeile dient dazu, Elemente mit dem .text-status-Stil in den Geschwisterelementen des übergeordneten Elements dieses ID-Elements zu finden und den Text-Grün-Stil zu entfernen.
Aber es funktioniert nicht. Das Folgende ist der Inhalt des übergeordneten Elements, das von der Konsole gemeldet wird

[prevObject: n.fn.init, context: document]
context
:
document
length
:
0
prevObject
:
n.fn.init
__proto__
:
Object(0)

Dies ist die hierarchische Beziehung von HTML

<tr>
                                <td>
                                    <input id="user1-mycheckbox" name="user-contorl" data-color="yellow" type="checkbox" class="checkbix" data-text="">
                                </td>
                                <td>0001</td>
                                <td><img src="images/user.png" alt=""></td>
                                <td>耿直BOY</td>
                                <td>男</td>
                                <td>1990-02-01</td>
                                <td class="table-text">曾经获得迪尼斯全球最能吃奖曾经获得迪尼斯全球最能吃奖</td>
                                <td>北京</td>
                                <td>2399</td>
                                <td>123</td>
                                <td>github</td>
                                <td>******</td>
                                <td>18511009922</td>
                                <td>1991-02-01</td>
                                <td class="text-blue">23</td>
                                <td class="text-blue">23</td>
                                <td class="text-blue">23</td>
                                <td class="text-green">正常</td>
                                <td><a href="" class="user-edit"><i class="fa fa-edit"></i></a></td>
                            </tr>
phpcn_u1582phpcn_u15822708 Tage vor929

Antworte allen(6)Ich werde antworten

  • 学习ing

    学习ing2017-06-30 10:01:52

    单开一个最简单的demo试一下就知道了、是可以拼接的、

    只能说你的页面上代码哪里出了问题


    看html中id为user1-mycheckbox

    看你的拼接却是'user'+checkeds[i]+'--mycheckbox';

    一个是短横线、一个是双短横线、还是代码贴错了?

    Antwort
    0
  • 伊谢尔伦

    伊谢尔伦2017-06-30 10:01:52

    题主可以判断一下是否选择器是正常的

    var check = 'user'+checkeds[i]+'--mycheckbox';
    

    // check = user1--mycheckbox

    <input id="user1-mycheckbox" .....

    Antwort
    0
  • 迷茫

    迷茫2017-06-30 10:01:52

    如果实例是你发的html的话,
    1.页面中并没有td.text-status
    2.check拼接的时候多了一个短横线
        id="user1-mycheckbox"    //html中
        var check = 'user'+checkeds[i]+'--mycheckbox';    // check= user1--mycheckbox

    Antwort
    0
  • 漂亮男人

    漂亮男人2017-06-30 10:01:52

    可以使用 不能使用的话那也只能是你页面上不存在这个ID

    Antwort
    0
  • phpcn_u1582

    phpcn_u15822017-06-30 10:01:52

    题主可以把测试代码发一下吗,这种情况一般就是你层级没找对

    Antwort
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-30 10:01:52

    check 输出看下是不是你想要的结果,如果是,再检查这个id在页面上是不是存在的,带有这个id的元素一开始也是要存在页面上的,不能是未来元素!未来元素要用事件委托。

    Antwort
    0
  • StornierenAntwort