修改 javascript 以查找值中的第一个字母

modify javascript to find first letter in a value

我对javascript知之甚少。据我所见,这显示了一组包含值的行(在本例中,是 WP 插件的作者)。

我想做的不是查找​​行中的 data-name 值,而是查找该值的第一个字母是否为 "A"。希望我应该能够处理前面的代码来完成这一部分……:)

非常感谢。

<script>
    var authors = [];
    $('.pba-id').each(function () {
        var author = $(this).attr('data-author');
        if (-1 == $.inArray(author, authors))
            authors.push(author);
    });

    $.each(authors, function (i, author) {
        $select.append($('<option>').html(author));
    });

    $select.change(function(){
    var value = $(this).val();
            if ('__pba_none' == value) {
    $('#the-list tr').show();
            return;
    }

    $('#the-list tr').each(function(){
    var $row = $(this);
            if ($row.find('.pba-id[data-author="' + value + '"]').length)
            $row.show();
            else
            $row.hide();
    });
</script>

使用 Attribute Starts With Selector [name^=”value”] 选择器。

Selects elements that have the specified attribute with a value beginning exactly with a given string.

$('#the-list tr').each(function() {
  var value = "A";
  var $row = $(this);
  if ($row.find('.pba-id[data-name^="' + value + '"]').length) {
    //---------------------------^^^
    $row.show();
  } else {
    $row.hide();
  }
});

试试这个:

$('#the-list tr').each(function() {
  // var value = "any value" ;
  var $row = $(this);
  if ($row.find('.pba-id[data-name^="' + value[0] + '"]').length) {
    $row.show();
  } else {
    $row.hide();
  }
});