ytc233 发表于 2020/3/26 14:46

求助!有关js问题

var Input = document.querySelector('#query-box-input');
var BtnSubmit = document.querySelector('.btn-submit div');
var ss1=Input;

var ss2;

console.log(ss1.value);
BtnSubmit.addEventListener('click', function () {
        console.log(ss1.value);
        if(Input.value != '' && ss1.indexOf("BV") != 0) {
                ss2 = ss1.slice(2);
                window.location.search ="BV=" + ss2.value;
                return;
        }
    else if (Input.value != '') {
      window.location.search ="BV=" + Input.value;
    }
});



为何slice和indexOf会报错?求大佬解答或者给个正确版本(代码意思应该都能看懂吧)谢谢

小樱 发表于 2020/3/26 20:53

混个回帖奖励积分,,等楼下大佬

gal.exe 发表于 2020/3/27 08:16

ss1的类型是一个document的node对象,indexOf和slice都是字符串对象类型的方法
直接执行肯定错。如果是为了查找ss1里面的html内容,需要写成ss1.innerHTML.indexOf()

ytc233 发表于 2020/3/27 10:40

gal.exe 发表于 2020/3/27 08:16
ss1的类型是一个document的node对象,indexOf和slice都是字符串对象类型的方法
直接执行肯定错。如果是为 ...

好的谢谢{:108:}

ytc233 发表于 2020/3/27 18:45

本帖最后由 ytc233 于 2020/3/27 18:57 编辑

gal.exe 发表于 2020/3/27 08:16
ss1的类型是一个document的node对象,indexOf和slice都是字符串对象类型的方法
直接执行肯定错。如果是为 ...

那怎么将imput的内容转成字符串类型啊,直接加.value或者innerHTML好像赋值输出啥都没。。。

var Input123 = document.querySelector('#query-box-input');
var BtnSubmit = document.querySelector('.btn-submit div');
var ss1=Input123.innerHTML;

BtnSubmit.addEventListener('click', function () {
      if(Input123.value != '' && ss1.indexOf("BV") != -1) {
                ss1 = ss1.slice(2);
                                console.log(ss1);
                window.location.search ="BV=" + ss1;
                return;
      }
      if (Input123.value != '') {
      window.location.search ="BV=" + Input123.value;
    }
});

大致就是要把圈的这个删掉咋搞(好像第一个if没进去???)
https://s1.ax1x.com/2020/03/27/GiFx2D.png

gal.exe 发表于 2020/3/28 08:46

query-box-input是什么?没有具体页面 不知道要怎么做

ytc233 发表于 2020/3/28 09:15

gal.exe 发表于 2020/3/28 08:46
query-box-input是什么?没有具体页面 不知道要怎么做

就是一个文本框,然后按按钮把文本框内容转成url的参数

ytc233 发表于 2020/3/28 14:27

本帖最后由 ytc233 于 2020/3/28 14:30 编辑

设置了断点调试,发现第一个if判断被跳过了,好像indexOf返回的是-1 为啥啊??? 还有那个value是不是算字符串啊

ytc233 发表于 2020/3/28 14:44

终于搞明白了,谢谢啊(最后发现value是个字符串直接对Imput123.value进行操作就行了)
页: [1]
查看完整版本: 求助!有关js问题