gpt4 book ai didi

javascript - 是否可以使用 Angular 获取元素的内部 HTML?

转载 作者:行者123 更新时间:2023-11-29 16:58:18 25 4
gpt4 key购买 nike

这是一个虚拟演示 http://play.ionic.io/app/580ebc698c2c .基本上我创建了一个充满“名称”的列表,我需要获取所选元素的文本。

但是,当我单击列表中的某个项目时,我会为所有用户获得相同的“innerHTML”。

我的方法可行吗?还是使用 Angular 有更好的方法?

谢谢

我的代码:

Index.html(正文)

 <body ng-app="app" ng-controller="MyCtrl">
<ion-pane>
<ion-header-bar class="bar-stable">
<h1 class="title">Awesome App</h1>
</ion-header-bar>
<ion-content>
<div class="list">
<a class="item" ng-repeat="name in names" id="userId" ng-click="click()">
{{name.name}}
</a>
</div>

</ion-content>
</ion-pane>

应用程序.js

angular.module('app', ['ionic'])

.controller('MyCtrl', function ($scope) {
$scope.names = [
{name: "Phillip"},
{name: "Jane"},
{name: "Marcos"},
{name: "Thomas"}
]

$scope.click = function () {
var selectedUser = document.getElementById("userId").innerHTML;
alert("You selected " + selectedUser);
}

})

更新

我的数据实际看起来如何。

<ion-content>
<div class="list">
<a class="item"
ng-repeat="friend in friends"
ng-click="selectedUser(friend)">
{{friend._serverData.following}}
</a>
</div>
</ion-content>

形成这个列表我试图以某种方式在单击(选择)时获取项目的“文本”。

我的JS

$scope.selectedUser = function (friend) {
alert(friend.friend);
}

最佳答案

我看了你的代码,意识到它需要改变如下

HTML

<a class="item" ng-repeat="name in names" ng-click="click(name)">
{{name.name}}
</a>

JS

$scope.click = function (name) {
alert("You selected : " + name.name);
}

这里是更正

  1. anchor 标记有 id,数组中的每个元素都会重复它,这是错误的。 ID 在整个 DOM 中应该是唯一的。
  2. 您无需访问 HTML 元素即可获取值。在您的情况下,ng-click 方法可以传递 name 对象的引用。
  3. 只需在 JS 函数中访问 name 对象即可。

关于javascript - 是否可以使用 Angular 获取元素的内部 HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30251635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com