首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么这段代码要将id=“活动”添加到html中?

为什么这段代码要将id=“活动”添加到html中?
EN

Stack Overflow用户
提问于 2009-09-30 09:43:04
回答 1查看 534关注 0票数 0

下面的视图代码生成如下所示的html代码。

Q1。第一行是做什么的?

代码语言:javascript
复制
<?php $ci_uri = trim($this->uri->uri_string(), '/'); $att = ' id="active"';?>

Q2。为什么

生成id="active"?

Q3。的目的是什么?

代码语言:javascript
复制
<?= substr($ci_uri, 0, 7) == 'example'? $att: ''?>
<?= $ci_uri == $this->config->item('FAL_login_uri')? $att: ''?>
...
...
<?= $ci_uri == $this->config->item('FAL_changePassword_uri')? $att: ''?>
etc.

它是否使用三元运算符?

查看代码

代码语言:javascript
复制
<?php $ci_uri = trim($this->uri->uri_string(), '/'); $att = ' id="active"';?>
<ul id="navlist">
<li<?= $ci_uri == ''? $att: ''?>><?=anchor('', 'home')?></li>
<li<?= substr($ci_uri, 0, 7) == 'example'? $att: ''?>><?=anchor('example', 'examples')?></li>
<li<?= $ci_uri == $this->config->item('FAL_login_uri')? $att: ''?>><?=anchor($this->config->item('FAL_login_uri'), 'login')?></li>
<li<?= $ci_uri == $this->config->item('FAL_register_uri')? $att: ''?>><?=anchor($this->config->item('FAL_register_uri'), 'register')?></li>
<li<?= $ci_uri == $this->config->item('FAL_forgottenPassword_uri')? $att: ''?>><?=anchor($this->config->item('FAL_forgottenPassword_uri'), 'forgotten password')?></li>
<li<?= $ci_uri == $this->config->item('FAL_changePassword_uri')? $att: ''?>><?=anchor($this->config->item('FAL_changePassword_uri'), 'change password')?></li>
<li<?= substr($ci_uri, 0, 5) == 'admin'? $att: ''?>><?=anchor('admin', 'admin')?></li>
</ul>

HTML代码

代码语言:javascript
复制
<ul id="navlist">
<li id="active"><a href="http://127.0.0.1/ci_freak_auth/index.php">home</a></li>
<li><a href="http://127.0.0.1/ci_freak_auth/index.php/example.html">examples</a></li>
<li><a href="http://127.0.0.1/ci_freak_auth/index.php/auth/login.html">login</a></li>
<li><a href="http://127.0.0.1/ci_freak_auth/index.php/auth/register.html">register</a></li>
<li><a href="http://127.0.0.1/ci_freak_auth/index.php/auth/forgotten_password.html">forgotten password</a></li>
<li><a href="http://127.0.0.1/ci_freak_auth/index.php/auth/changepassword.html">change password</a></li>
<li><a href="http://127.0.0.1/ci_freak_auth/index.php/admin.html">admin</a></li>
</ul>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-09-30 09:49:12

  1. 将$ci_uri设置为当前URL,删除了前导和尾随斜杠,因此“/foo/
  2. /”将变为"foo/bar“。然后将$att设置为该字符串,以便以后使用。
  3. 该字符串稍后将被注入到一个HTML标记中--可能是为了使其样式与CSS
  4. 有所不同。基本上,它会查看打印的链接是否为当前URL,如果是,则添加active属性。

总而言之,整个过程就是对指向当前页面的链接设置不同的样式。

代码:

代码语言:javascript
复制
<?= $ci_uri == $this->config->item('FAL_login_uri')? $att: ''?>

意思是:

代码语言:javascript
复制
<?= // this is a shortcut for <?php echo

// If the current url is the same as the url for "FAL_login_uri"
$ci_uri == $this->config->item('FAL_login_uri')

// then
?

// use $att in the echo
$att

// else
:

// use an empty string in the echo
''
?>

$x ? $y : $z语法是一种ternary operator --这几乎是执行if / else的一种简单方法

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1497084

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档