类型' true'的论证不能分配给类型的参数

时间:2018-03-28 13:24:11

标签: javascript jquery typescript

我有打字稿代码

这是

$('.Switch').on('click', function() {
if ($(this).hasClass('On')) {
  $(this).parent().find('input:checkbox').attr('checked', true);
  $(this).removeClass('On').addClass('Off');
  $(this).parent().find('input:hidden').val(0);
  $(".filter_stops").each(function() {
    if ($(this).slider( "option", "value" ) === 0) {
      $(this).off('slidechange');
      $(this).slider( "option", "value", 99 );
      $(`#stops_${this.id.split('_')[1]}`).val(`Max ${$( this ).slider("value")} ${__('byten')}`);
      $(`#filter_stops_${this.id.split('_')[1]}`).val($( this ).slider("value"));
      $(this).on('slidechange', FilterFunctions.onFilterChange);
    }
  });

在此代码中,我有2个错误

在这一行$(this).parent().find('input:checkbox').attr('checked', true);我有

  

类型' true'不能分配给'类型的参数(索引:数字,attr:字符串)=>字符串|数'

并在此

 $(`#stops_${this.id.split('_')[1]}`).val(`Max ${$( this ).slider("value")} ${__('byten')}`);
  

财产' id'类型' TElement'。

上不存在

我该如何解决?

1 个答案:

答案 0 :(得分:1)

在第一种情况下,使用:

$(this).parent().find('input:checkbox').prop('checked', true);

因为使用attr,您只获得属性的初始值(如果已设置)。 prop给出了该属性的当前值。

对于第二种情况,请使用:

$(this).attr('id').

this.getAttribute('id')

而不是

this.id

希望这能为你服务。