gpt4 book ai didi

javaScript(Angular) 获取每个元素的值

转载 作者:行者123 更新时间:2023-11-28 19:04:28 24 4
gpt4 key购买 nike

我有一个关于获取每个元素的 id 的问题。我有一个 ListView ,当我单击每个元素时,我想获取最后一行的 id('myID')。 我的问题是,每次点击我总是得到相同的 id(39)

这是我的 angularJS 代码:

var app = angular.module('app', []);

function ctrlGenel($scope) {
$scope.call = function(){
var getID = angular.element(document.querySelector('#myID'));
alert(getID.html());
}
};

我的 html 如下所示:

<div ng-app='app' ng-controller='ctrlGenel'>
<div id='listview' ng-click='call()' class='listview'>
<h3>Title 1</h3>
<h4>Açıklama 1</h4>
<p id='myID'>39</p>
</div>

<div id='listview' ng-click='call()' class='listview'>
<h3>Title 2</h3>
<h4>Açıklama 1</h4>
<p id='myID'>40</p>
</div>

<div id='listview' ng-click='call()' class='listview'>
<h3>Title 3</h3>
<h4>Açıklama 1</h4>
<p id='myID'>41</p>
</div>
</div>

这是一个 JSFiddle 演示:http://jsfiddle.net/aldimeola1122/40rx6xwt/

你能帮我一下吗?提前致谢。

最佳答案

试试这个:

您可以使用 ng-click 的 $event 来访问您点击的 dom 元素。您只需在 Controller 中像 $event.currentTarget 一样调用 currentTarget 即可。

var app = angular.module('app', []);



function ctrlGenel($scope) {
$scope.call = function(event){
var getID = angular.element(event.currentTarget.querySelector('.myClass'));
alert(getID.html());
}
};

然后在你的html中:

 <div ng-app='app' ng-controller='ctrlGenel'>
<div id='listview' ng-click='call($event)' class='listview'>
<h3>Title 1</h3>
<h4>Açıklama 1</h4>
<p class='myClass'>39</p>
</div>

<div id='listview' ng-click='call($event)' class='listview'>
<h3>Title 2</h3>
<h4>Açıklama 1</h4>
<p class='myClass'>40</p>
</div>

<div id='listview' ng-click='call($event)' class='listview'>
<h3>Title 3</h3>
<h4>Açıklama 1</h4>
<p class='myClass'>41</p>
</div>
</div>

请注意,我使用的是类而不是 id

关于javaScript(Angular) 获取每个元素的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31966508/

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