js或者jq判断html代码 如果id='y',显示,如果id='n',隐藏。

不是diplay:block和display:none这种视觉上的隐藏
我想要的是取消掉,在源代码中也看不到的。
比如:
<div id='y'>123</div>
<div id='n'>456</div>
id=y的div显示,id=n的div隐藏,隐藏的div在源代码中也消失。
请帖下完整示例代码,万分感谢。

如果要源代码中看不到,就不能写成静态的代码。

需要在jq 中 append 添加

假设最终是下面这样的

<div id='content'>

    <div id='y'>123</div>

    <div id='n'>456</div>
 </div>

那么实际应该是

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <script src="Scripts/jquery-1.10.0.js"></script>
</head>
<body>
    <div id="content">
    </div>
    <script>
        $(function () {
            var $div1 = "<div id='y'>123</div>";
            var $div2 = "<div id='n'>456</div>";
            $("#content").append($div1).append($div2);
            var $divremove=$("#content").find("[id='n']");
            $divremove&&$divremove.remove();
        });
    </script>
</body>
</html>

$div1,$div2是你将要添加的,$divremove是将要移除的。

追问

谢谢,能不能针对id来判断呢?
123456只是举个例子,实际代码很多。
div内部会有数据调用,不能放里。
我的想法是类似于
如果 id=y ,其所在容器显示。
否则 移除。
大神再帮忙看看这样能不能判断。

追答

一般使用jquery动态的添加div等元素,是要经过后台处理数据的,一般回传到前台的是JSON格式(也可以有其他格式,JSON容易解析而且数据所占比例高)

$.ajax({ 
url:...,
type:post 或者get,
dataType:JSON,
success:function(data){

//在这里放上判断的代码
var d=JSON.Parse(data);
//假设data的格式是 [

//  {

        //"id": "y",

      //  "value": "123"

    //},

    //{

      //  "id": "N",

    //    "value": "456"

  //  }

//]
 if(d!=null){

    for(var i=0;i<d.length;i++{

    if(d[i].id=='y'){   --显示-- }  
}

 

,可以通过ajax返回的data,在其中判断好了,再决定是否添加.

另外可以把代码放在 $(function(){...这里放代码...});

这样就可以在domReady的时候来动态显示内容了.

(上面的代码是直接敲的,没在环境里面调试.)

温馨提示:答案为网友推荐,仅供参考