这段代码有什么问题? [英] What is the wrong with this code?

查看:102
本文介绍了这段代码有什么问题?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用Visual Studio 2013在side cshtml文件窗口中编写了这个angularjs代码和html代码来研究element.wrap(elements)的行为。但它没有像我希望的那样工作......

@ {

布局= null;

}

<!DOCTYPE html>

< html ng-app =exampleapp>

< head>

< meta name =viewportcontent =width = device-width/>

< script src =〜/ Scripts / jquery-1.10.2.js>< / script>

< title>指令< / title>

< link href =〜/ Content / bootstrap.css =stylesheet/>

< script src =〜/ Scripts / angular.js>< / script>

< script>

angular.module( exampleapp,[])。directive(demoDirective,function()

{

返回函数(范围,元素,attrs)

{

var listElem = angular.element(< ol>);

element.append(listElem);

for(var i = 0; i< scope.names.length; i ++)

{

listElem.append(angular.element(< li>)。append(angular.element(< span>)。text(scope.names [i]))) ;

}

var listElemClone = listElem.clone();

element.append(listElemClone);

var myarray = angular.copy(scope.names);

myarray.reverse();

var listElemx = angular.element(< ol>);

element.prepend(listElemx);

for(var j = 0; j< myarray.length; j ++){

var lixvar = angular.element(< span>)。css('color','red')。css('font-weight','bold')。 text(myarray [j])。wrap(angular.element(< li>));

lixvar.wrap(listElemx);

}

var searchresults = listElemx.find('li');

for(var i = 0; i< searchresults.length; i ++)

{

if(searchresults.eq(i).children()。eq(0).text()=='Apple')

{

searchresults.eq(i).replaceWith(angular.element(< span>)。css('color','green')。css('font-weight','bold')。text(' Waruna'))。wrap(angular.element('< li>'));

}

}

};

})。controller(defaultctrl,function($ scope){

$ scope.na mes = [Apple,Bananas,Oranges];

});

< / script>

< / head>

< body ng-controller =defaultctrl>

< h3> Fruit< / h3>

< div demo-directive>< / div>

< / body>

< / html>

我用Visual Studio 2013来写下这段代码。以下是结果的屏幕截图...

截图



如您所见< li>< / li>使用wrap()时不会创建。



实际上在工作代码中< li>< / li>元素被创建。这是由工作代码创建的网页的屏幕截图(使用append()除了wrap())。

截图



我想知道有没有更好的方法来编写这个angularjs代码和html代码(在侧角js中使用wrap()代码)来创建< li>< / li>在IDE中执行整个代码时网页上的元素。

解决方案

范围){


< blockquote> scope.names = [Apple,Bananas,Oranges];

});

< / script>

< / head>

< body ng-controller =defaultctrl>

< h3> Fruit< / h3>

< div demo-directive>< / div>

< / body>

< / html>

我用过的Visual Studio 2013编写此代码。以下是结果的屏幕截图...

截图



如您所见< li>< / li>使用wrap()时不会创建。



实际上在工作代码中< li>< / li>元素被创建。这是由工作代码创建的网页的屏幕截图(使用append()除了wrap())。

截图



我想知道有没有更好的方法来编写这个angularjs代码和html代码(在侧角js中使用wrap()代码)来创建< li>< / li>当整个代码在IDE中执行时,网页上的元素就会自动。


不是char 这一行:

  for  var  i =  0 ; i    





可能是你的问题



干杯,

C


I wrote this angularjs code and html code in side cshtml file window using Visual studio 2013 to study the behavior of element.wrap(elements). But it is not working as I hoped...
@{
Layout = null;
}
<!DOCTYPE html>
<html ng-app="exampleapp">
<head>
<meta name="viewport" content="width=device-width" />
<script src="~/Scripts/jquery-1.10.2.js"></script>
<title>Directives</title>
<link href="~/Content/bootstrap.css" rel="stylesheet" />
<script src="~/Scripts/angular.js"></script>
<script>
angular.module("exampleapp", []).directive("demoDirective", function ()
{
return function (scope, element, attrs)
{
var listElem = angular.element("<ol>");
element.append(listElem);
for(var i=0;i<scope.names.length;i++)
{
listElem.append(angular.element("<li>").append(angular.element("<span>").text(scope.names[i])));
}
var listElemClone = listElem.clone();
element.append(listElemClone);
var myarray = angular.copy(scope.names);
myarray.reverse();
var listElemx = angular.element("<ol>");
element.prepend(listElemx);
for (var j = 0; j < myarray.length; j++) {
var lixvar = angular.element("<span>").css('color', 'red').css('font-weight', 'bold').text(myarray[j]).wrap(angular.element("<li>"));
lixvar.wrap(listElemx);
}
var searchresults = listElemx.find('li');
for (var i = 0; i < searchresults.length; i++)
{
if(searchresults.eq(i).children().eq(0).text()=='Apple')
{
searchresults.eq(i).replaceWith(angular.element("<span>").css('color', 'green').css('font-weight', 'bold').text('Waruna')).wrap(angular.element('<li>'));
}
}
};
}).controller("defaultctrl", function ($scope) {
$scope.names = ["Apple","Bananas","Oranges"];
});
</script>
</head>
<body ng-controller="defaultctrl">
<h3>Fruit</h3>
<div demo-directive></div>
</body>
</html>
I used Visual studio 2013 to write this code. Here is a screen shot of the result...
Screenshot

As you can see the <li></li> are not created while using wrap().

Actually in the working code <li></li> elements are created. Here is a screen shot of the web page created by a working code(using append() except wrap()).
Screenshot

I want to know is there any better way to write this angularjs code and html code (using wrap() in side angular js code) to create <li></li> elements on the web page it self when the whole code is executed in the IDE.

解决方案

scope) {


scope.names = ["Apple","Bananas","Oranges"];
});
</script>
</head>
<body ng-controller="defaultctrl">
<h3>Fruit</h3>
<div demo-directive></div>
</body>
</html>
I used Visual studio 2013 to write this code. Here is a screen shot of the result...
Screenshot

As you can see the <li></li> are not created while using wrap().

Actually in the working code <li></li> elements are created. Here is a screen shot of the web page created by a working code(using append() except wrap()).
Screenshot

I want to know is there any better way to write this angularjs code and html code (using wrap() in side angular js code) to create <li></li> elements on the web page it self when the whole code is executed in the IDE.


Wha't the char " doing in this line:

for(var i=0;i")



might be your issue

Cheers,
C


这篇关于这段代码有什么问题?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆