Maison  >  Questions et réponses  >  le corps du texte

angular.js - angularjs 如何根据动态id显示div

我在html里面动态设置了p的id代码如下:


<p ng-repeat="item in items">
    <p id="{{item.name}}" class="ng-hide"> {{item.name}} </p>
<p>

html解析之后能出来动态id的效果,类似于这样:

<p ng-repeat="item in items">
    <p id="name1" class="ng-hide"> name1 </p>
    <p id="name2" class="ng-hide"> name2 </p>
    <p id="name3" class="ng-hide"> name3 </p>
<p>

我想要动态的控制这些p显示还是不显示。我在js里面写了这样的代码:

html:
<input type="button" ng-click="show(item.name)">
js:
$scope.show=function(name){
    document.getElementById(name).style.display = "block";
}

结果并没有实现我想要的效果,还是每次点击都会显示三个p。有什么办法能实现我想要的效果么?

给我你的怀抱给我你的怀抱2713 Il y a quelques jours686

répondre à tous(7)je répondrai

  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-15 17:10:52

    Bien que je ne comprenne pas pourquoi, j'ai changé class="ng-hide" en style="desplay:none" et cela a fonctionné. . .

    répondre
    0
  • 怪我咯

    怪我咯2017-05-15 17:10:52

    Est-il possible d'utiliser ng-show et ng-hide

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-15 17:10:52

    Ajoutez un champ "isShow" à l'élément, la valeur par défaut est false,

    <p ng-repeat="item in items">
        <p id="{{item.name}}" class="ng-hide" ng-show="item.isShow"> {{item.name}} </p>
    <p>

    Lorsque vous cliquez sur le bouton, la valeur de isShow est inversée.

    html:
    <input type="button" ng-click="show(index)">
    js:
    $scope.show=function(index){
        $scope.items[index].isShow = !$scope.items[index].isShow;
    }

    répondre
    0
  • PHP中文网

    PHP中文网2017-05-15 17:10:52

    Il existe deux façons de contrôler l'affichage des éléments dans angulaire.js La première est : ng-show ng-hide et l'autre est ng-if

    .

    répondre
    0
  • 大家讲道理

    大家讲道理2017-05-15 17:10:52

    Il est recommandé de réorganiser vos données et d'utiliser ng-hide pour contrôler si les éléments sont masqués ou non :

    `[
        {
            id:'id1',
            name:'name1',
            hide:false //配合nd-hide实现元素隐藏和显示
        },
        {
            id:'id2'
            name:'name2',
            hide:true
        }
        //...
    ]
    
    ----------
    
    
    <p ng-repeat="item in items">
        <p id="item.id" ng-hide="item.hide" ng-bind="item.name"></p>
    <p>`
    写的比较简单,有问题再问

    répondre
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-15 17:10:52

    Ajoutez un autre attribut, écrivez-le dans l'attribut personnalisé de p, puis ng-if rend le jugement ?

    répondre
    0
  • 阿神

    阿神2017-05-15 17:10:52

    https://github.com/xufei/ng-c...

    répondre
    0
  • Annulerrépondre