content 为什么是 undefined ?我怎么给赋值到外面的content 里?



```javascript
        var inputSearch = document.getElementsByTagName('input')[0];
        var contTxt = document.getElementsByClassName('cont-txt')[0];
        var contBox = document.getElementsByClassName('cont-box')[0];
        var content;
        
        inputSearch.oninput = function () {
            contTxt.style.display = 'none';

            content = `
            <div class="number-query">
                

"title">您的产品(BY-TX)为真

"details">您可凭借购买证明到您的购买商店或网上商城享受自购买之日起两年的质保服务。

div> ` return; } var div = document.createElement("div"); div.innerHTML = content; console.log(content); contBox.appendChild(div)

```

你把下面的代码挪动到大括号里不就不undefined了,难道不是吗?

content只是申明了,没有赋值呀,大括号里边的就只会在括号里边生效,外边的还是没值

img

你 content 在代码执行的时候立马就打印了,所以什么的都没有

img


你应该在输入事件里面打印,或者把里面多的content = <XX>XX</XX>;拿到事件外赋值

var inputSearch = document.getElementsByTagName('input')[0];
        var contTxt = document.getElementsByClassName('cont-txt')[0];
       var contBox = document.getElementsByClassName('cont-box')[0];
        var content=‘’;//要赋值
        inputSearch.oninput = function () {
            contTxt.style.display = 'none';
            content = `
            <div class="number-query">
                <h2 class="title">您的产品(BY-TX)为真
                <p class="details">您可凭借购买证明到您的购买商店或网上商城享受自购买之日起两年的质保服务。
            </div>
        `
            var div = document.createElement("div");
        div.innerHTML = content;//这里还是空值的
        console.log(content);
        contBox.appendChild(div)
            return;
        }
       

外面content值会随着函数触发而更新,但是外面的代码不会重新执行

var inputSearch = document.getElementsByTagName('input')[0];
var contTxt = document.getElementsByClassName('cont-txt')[0];
var contBox = document.getElementsByClassName('cont-box')[0];
var content;

var div = document.createElement("div");
contBox.appendChild(div)

inputSearch.oninput = function () {
    contTxt.style.display = 'none';

    content = `
    <div class="number-query">
        <h2 class="title">您的产品(BY-TX)为真
        <p class="details">您可凭借购买证明到您的购买商店或网上商城享受自购买之日起两年的质保服务。
    </div>
`
    console.log(content);
    div.innerHTML = content;
}