te')); return $arr; } /* 遍历用户所有主题 * @param $uid 用户ID * @param int $page 页数 * @param int $pagesize 每页记录条数 * @param bool $desc 排序方式 TRUE降序 FALSE升序 * @param string $key 返回的数组用那一列的值作为 key * @param array $col 查询哪些列 */ function thread_tid_find_by_uid($uid, $page = 1, $pagesize = 1000, $desc = TRUE, $key = 'tid', $col = array()) { if (empty($uid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('uid' => $uid), array('tid' => $orderby), $page, $pagesize, $key, $col); return $arr; } // 遍历栏目下tid 支持数组 $fid = array(1,2,3) function thread_tid_find_by_fid($fid, $page = 1, $pagesize = 1000, $desc = TRUE) { if (empty($fid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('fid' => $fid), array('tid' => $orderby), $page, $pagesize, 'tid', array('tid', 'verify_date')); return $arr; } function thread_tid_delete($tid) { if (empty($tid)) return FALSE; $r = thread_tid__delete(array('tid' => $tid)); return $r; } function thread_tid_count() { $n = thread_tid__count(); return $n; } // 统计用户主题数 大数量下严谨使用非主键统计 function thread_uid_count($uid) { $n = thread_tid__count(array('uid' => $uid)); return $n; } // 统计栏目主题数 大数量下严谨使用非主键统计 function thread_fid_count($fid) { $n = thread_tid__count(array('fid' => $fid)); return $n; } ?>javascript - How to display different HTML elements in if statement - Stack Overflow
最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - How to display different HTML elements in if statement - Stack Overflow

programmeradmin3浏览0评论

Hello, I am new to HTML and JS therefore would like to ask for some help. Here I want to display two different HTML elements according if statement is true or false. However, it does not work. Could I get some help? (:

<!DOCTYPE html>
<html>
<body>


<script>
if (!user) {
    <h1> there is no user </h1>
} </script>


if (user) {
    <button type="button">Click Me!</button>
} </script>


</body>
</html>

Hello, I am new to HTML and JS therefore would like to ask for some help. Here I want to display two different HTML elements according if statement is true or false. However, it does not work. Could I get some help? (:

<!DOCTYPE html>
<html>
<body>


<script>
if (!user) {
    <h1> there is no user </h1>
} </script>


if (user) {
    <button type="button">Click Me!</button>
} </script>


</body>
</html>
Share Improve this question edited Dec 13, 2016 at 17:22 deChristo 1,8782 gold badges20 silver badges30 bronze badges asked Dec 13, 2016 at 16:51 KasparasKasparas 891 gold badge5 silver badges9 bronze badges 1
  • use document.write(). – Hikmat Sijapati Commented Dec 13, 2016 at 16:53
Add a ment  | 

3 Answers 3

Reset to default 6

Here is a native Javascript alternative

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div id="content"></div>

<script>

    var el = document.getElementById('content');
    var content;

    if  (!user) {
        content = '<h1>there is no user</h1>';
    }
    if  (user) {
        content = '<button type="button">Click Me!</button>';
    }

    el.insertAdjacentHTML('afterbegin', content);

</script>
</body>
</html>

This won't work as is unless the user variable is defined, though, but I'm assuming you already have it available at runtime.

If you have more html in this div you can use a different insert position, see the documentation about it here: https://developer.mozilla/en-US/docs/Web/API/Element/insertAdjacentHTML

Using jQuery you would do something like this

html

<!DOCTYPE html>
<html>
  <head>
      <script src="https://ajax.googleapis./ajax/libs/jquery/3.1.1/jquery.min.js"></script>
  </head>
   <body>
   </body>
</html>

JS

if(!user){
   $('body').append('<h1>There is no user</h1>')
} else if(user) {
   $('body').append('<button>Login</button>')
}

See js fiddle here.

Also, note that if you want to use jquery include the script in the head

<script src="https://ajax.googleapis./ajax/libs/jquery/3.1.1/jquery.min.js"></script>

Unfortunately you can't add HTML directly in a block of javascript. What you can do instead though is use jQuery to append a block of HTML.

To do this, you would load jQuery by adding this line to your head tag

<script src="https://code.jquery./jquery-3.1.1.slim.min.js"></script>

And then replace your inline javascript with the following:

<script>
if (!user) {
  $(document.body).append( "<h1> there is no user </h1>" );
}


if (user) {
  $(document.body).append( "<button type='button'>Click Me!</button>" );
} </script>
发布评论

评论列表(0)

  1. 暂无评论